在
Java
here中有一个关于舍入小数的一个很好的问题.但是我想知道如何在我的程序中包含尾随零来显示价格:$1.50,$1.00
简单的解决方案
String.format("%.2g%n",0.912385);
工作正常,但如果它在最后一个小数位,则省略尾随零.虽然我只使用这样的表达式,但我的程序出现了这个问题:
double price = 1.50;
当我使用不同的价格(添加,乘法等)进行计算时,结果主要显示如下:
$2.5000000000000003
因此,使用String.format可以正常工作,但它会将上面的示例截断为
$2.5
是否有正确的方法在小数点后第二位显示尾随零?如果计算的输出应该是,则两者都为零
$2.00
解决方法
我建议你这样做:
NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(); double price = 2.50000000000003; System.out.println(currencyFormatter.format(price));
这具有特定于语言环境的优点.例如,如果您在欧元区而不是美国,这将有效.