业务上有些数据需要对齐进行格式统一,比如位数问题,一个产品的良率信息,需要确保是要保留小数点几位,那么我们在用java处理的时候可以用DecimalFormat这个格式化类来达到目的。
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(.1));//.10
System.out.println(df.format(.123));//.12
System.out.println(df.format(1.126));//1.13
System.out.println(df.format(1.125));//1.12 这个没有四舍五入,idea亲测结果值
System.out.println(df.format(.125));//.12
System.out.println(df.format(.126));//.13
项目中用到了这个格式“#.00”,简单介绍下这个符号的区别:
#:
在整数位时表示该位没有数字时也保持一致,如上例子 .123=> .12,有则直接显示;
在小数位时表示n个#只保留n位有效小数(比如 #.## 1.00不保留=> 1,1.11则保留=>1.11)
这里有个特殊情况:#.##的格式下: .100 => 0.1,这个整数位补了0
0: 表示该位没有数字时补零显示,有则直接显示;出现在小数位部分时,n个0表示保留n位小数
DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(.1));//0.10
System.out.println(df.format(.123));//0.12
System.out.println(df.format(1.126));//1.13
System.out.println(df.format(1.125));//1.12 这个没有四舍五入,idea亲测结果值
System.out.println(df.format(.125));//0.12
System.out.println(df.format(.126));//0.13