我有一个小问题,我似乎无法解决。
我想以"£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));