以下代码使用了
显示
而在
RoundingMode.HALF_EVEN
,BigDecimal value1 = new BigDecimal("4.5");
value1=value1.setScale(0, RoundingMode.HALF_EVEN);
BigDecimal value2 = new BigDecimal("6.5");
value2=value2.setScale(0, RoundingMode.HALF_EVEN);
System.out.println(value1+"\n"+value2);
显示
4
和6
,看起来应该分别显示5
和7
,因为舍弃的小数部分左侧的数字(本例中为5)是奇数。在这种情况下,它执行RoundingMode.HALF_UP
。而在
RoundingMode.HALF_UP
的情况下,当舍弃的小数部分>=0.5时(为真),则执行RoundingMode.UP
,否则执行RoundingMode.DOWN
。
4
和6
在ROUND_HALF_EVEN
中是偶数(EVEN)
。.5
是一半(HALF)
的部分。 - Jim Garrison