Java decimalFormat RoundingMode

时间:2014-10-11 09:35:28

标签: java

我需要存档:(基本上 num1 * num2 = num3 num1 num2

1) 10.62 * 4.0 = 42.48 
2) 14.89 * 8.5 = 126.56 
3) 13.21 * 6.0 = 79.26 
4) 16.55 * 7.35 = 121.64 
5) 18.62 * 9.0 = 167.58 
6) 9.47 * 15.3 = 144.89
7) 6.58 * 3.0 = 19.74 
8) 18.32 * 5.4 = 98.93 
9) 12.15 * 2.9 = 35.24 
10) 3.98 * 4.8 = 19.10

本练习是练习格式化/舍入字符串/数字。

所以我用过:

DecimalFormat decimalFormat = new DecimalFormat(".00");
System.out.println(decimalFormat.format(num3));

并且一切正确,但是9) 12.15 * 2.9 = 35.24,我得到了35.23而不是35.24 DecimalFormat的默认RoundingMode是HALF_EVEN,如果我使用RoundingMode.UP,我会得到正确的 35.24 ,但其他结果将被搞乱,所以我被卡住了......

我应该使用什么来获得预期的结果?

1 个答案:

答案 0 :(得分:0)

使用RoundingMode UNNECESSARY,可以解决您的问题。此外,您可以捕获异常并在需要时手动指定输出。