将货币四舍五入到小数点后 2 位



我有一个小问题,我似乎无法解决。

我想以"£100.50"格式

打印我的余额,但它目前给了我"£100.5"格式。

我正在使用十进制格式方法,但它不起作用。有什么帮助吗?

final DecimalFormat df2 = new DecimalFormat("#.##");
balance = 100.499999;
System.out.println("Balance: £ " + df2.format(balance));

通过将 ("#.##") 更改为 ("#.00") 来修复错误

这有效: new DecimalFormat("0.00");

更新

要全面了解java.text.DecimalFormat中使用的模式,请参阅 Java API https://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html

final DecimalFormat df2 = new DecimalFormat("#.00");
balance = 100.499999;
System.out.println("Balance: £ " + df2.format(balance));

这应该有效

从@A2H的回答中,我想做一个笔记。

假设,你有

balance = .7538;

如果您希望它是 0.75,请使用

new DecimalFormat("0.00");

或者如果你想成为.75,那么使用

new DecimalFormat("#.00");
double value= 213.3456;
DecimalFormat df = new DecimalFormat("#.00");      
System.out.println(df.format(value));

相关内容

  • 没有找到相关文章

最新更新