可能重复:
将小数点后的双精度数加到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
Boh*_*ian 486
不,没有更好的方法.
实际上你的模式有错误.你想要的是:
DecimalFormat df = new DecimalFormat("#.00"); 
注意"00",这意味着正好两位小数.
如果你使用"#.##"(#意思是"可选"数字),它将丢弃尾随零 - 即new DecimalFormat("#.##").format(3.0d);打印只是"3",而不是"3.00".
Ope*_*uce 351
另一种方法是使用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相同方式工作的方法.
| 归档时间: | 
 | 
| 查看次数: | 654792 次 | 
| 最近记录: |