浮点数格式化数字
在项目中会出现很多数字,但是一旦出现数字就会让统一数字样式,在相中使用过的三种数字格式化的方式。
例如 我们要格式化double 类型的数据,一般是保留小数点2位。
1.最常想到的String.format
double l = 3.1;
String format = "%.2f";
String result = String.format(format,l);
System.out.println(result);
保留2为小数,不论有几位小数,4舍5入,不够用0补,输出结果为(3.10)。
2.可能会想到 java.util 包中的 Formatter 类
double l = 3.1;
Formatter formatter = new Formatter();
formatter.format("%.2f", l);
System.out.println(formatter.toString());
保留2为小数,不论有几位小数,4舍5入,不够用0补,输出结果为(3.10)。
3.DecimalFormat 格式化数字:
DecimalFormat 可以强制保留2为小数,也可以根据真实数据多了保留2位,少了就不做处理。
double l = 3.1;
DecimalFormat df = new DecimalFormat("#.##");
//DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(l));
保留2位小数,但是不够的时候不会用0补,超出的4舍5入。要想用0补,可以换成上面注释的代码。