Java十进制格式舍入模式



我需要归档这个:(基本上给出了num1*num2=num3num1以及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.24DecimalFormat的默认RoundingMode是HALF_EVEN,如果我使用RoundingMode.UP,我会正确处理35.24,但其他结果会被打乱,所以我被卡住了。。。

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

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

最新更新