将Double值格式化为2的最佳方法小数位
可能重复:
将小数点后两位有效数字取整为2位
我在我的应用程序处理大量的双值,是否有任何简单的方法来处理在Java中的十进制值的格式?
还有其他更好的办法吗?
DecimalFormat df = new DecimalFormat("#.##");
我想要做的基本上是格式双值的喜欢
23.59004 to 23.59 35.7 to 35.70 3.0 to 3.00 9 to 9.00
不,没有更好的办法。
其实你的模式有一个错误。 你想要的是:
DecimalFormat df = new DecimalFormat("#.00");
注意"00"
,意思是两位小数。
如果使用"#.##"
( #
表示“可选”数字),它将会删除尾随零 – 即new DecimalFormat("#.##").format(3.0d);
打印只是"3"
,而不是"3.00"
。
另一种方法是使用String.format
:
double[] arr = { 23.59004, 35.7, 3.0, 9 }; for ( double dub : arr ) { System.out.println( String.format( "%.2f", dub ) ); }
输出:
23.59 35.70 3.00 9.00
你也可以使用System.out.format
(同样的方法签名),或者创建一个java.util.Formatter
,它以相同的方式工作。