float数据类型,精确到小数点后n位

import java.text.NumberFormat;

/**
 * float数据类型,精确到小数点后3位
 * @author Administrator
 *
 */
public class FloatNumFormatTest {
	public static void main(String[] args) {
//		float f = 2.23456789f;
		float f = 1000.0f;
		NumberFormat numFormat = NumberFormat.getNumberInstance();
		numFormat.setMaximumFractionDigits(3);
		
		// 判断其是否含有千分位,分隔符","
		String numStr = numFormat.format(f);//如:这里是 1,000
		if(numStr.indexOf(",") != -1) {
			numStr = numStr.replaceAll(",", "");
		}
		//如果不做千分位判断,此处数据类型转换会出现java.lang.NumberFormatException: For input string: "1,000"异常
		f = Float.parseFloat(numStr);
		System.out.println(f);
	}
}
输出结果:1000.0

你可能感兴趣的:(NumberFormat,float数据类型)