java - 将货币四舍五入到小数点后两位
java - round currency to 2 decimal places
我有一个似乎无法解决的小问题。
我想以“100.50 英镑”的格式打印我的余额,但它目前给我的是“100.5 英镑”的格式。
我正在使用 decimalFormat 方法,但它不起作用。有什么帮助吗?
final DecimalFormat df2 = new DecimalFormat("#.##");
balance = 100.499999;
System.out.println("Balance: £ " + df2.format(balance));
通过将 ("#.##") 更改为 ("#.00")
修复了错误
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");
这个有效:new DecimalFormat("0.00");
更新
要完整了解 java.text.DecimalFormat
中使用的模式,请参阅 Java API https://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html
double value= 213.3456;
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(value));
我有一个似乎无法解决的小问题。
我想以“100.50 英镑”的格式打印我的余额,但它目前给我的是“100.5 英镑”的格式。
我正在使用 decimalFormat 方法,但它不起作用。有什么帮助吗?
final DecimalFormat df2 = new DecimalFormat("#.##");
balance = 100.499999;
System.out.println("Balance: £ " + df2.format(balance));
通过将 ("#.##") 更改为 ("#.00")
修复了错误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");
这个有效:new DecimalFormat("0.00");
更新
要完整了解 java.text.DecimalFormat
中使用的模式,请参阅 Java API https://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html
double value= 213.3456;
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(value));