问题描述
- BigDecimal 四舍五入结果不一致
- BigDecimal number=new BigDecimal(18.9045613);
System.out.print(""RoundingMode四舍五入: "" + number.setScale(2RoundingMode.UP) ); //18.91
System.out.print(""BigDecimal四舍五入: "" + number.setScale(2BigDecimal.ROUND_HALF_UP) );//18.90为什么这两种四舍五入获得的值不一样?
解决方案
上面的不是4舍5入。是无论值多少,都会进1.
解决方案三:
UP public static final RoundingMode UP
远离零方向舍入的舍入模式。始终对非零舍弃部分前面的数字加 1。注意,此舍入模式始终不会减少计算值的绝对值
时间: 2024-12-20 17:23:36