BigDecimal 精度保留RoundingMode

BigDecimal的精度保留

RoundingMode的几种取值方式(demo中默认保留两位)

roundingMode RoundingMode 取值方式 demo
0 ROUND_UP 直接丢掉保留位数后面的,保留位数最后一个数加1。(负号不参与计算) 9.284->9.29;
-5.326->-5.33
1 ROUND_DOWN 直接丢掉保留位数后面的 9.284->9.28;
-5.326->-5.32
2 ROUND_CEILING 如果是正数用UP规则,负数用DOWN规则 9.284->9.29;
-5.326->-5.32
3 ROUND_FLOOR 如果是正数用DOWN规则,负数用UP规则 9.284->9.28;
-5.326->-5.33
4 ROUND_HALF_UP (>=5)四舍五入 9.235->9.24;
-5.326->-5.33
5 ROUND_HALF_DOWN (>5)五舍六入 9.235->9.23;
-5.326->5.33
6 ROUND_HALF_EVEN 四舍六入五留双(银行家舍入),如果是5的则看前一奇偶,奇加偶舍 9.235->9.24;
9.265->9.26;
7 ROUND_UNNECESSARY 断言请求的操作具有精确的结果,因此不需要舍入。如果对获得精确结果的操作指定此舍入模式,则抛出ArithmeticException 9.23->9.23;9.231->ArithmeticException

你可能感兴趣的:(java)