BigDecimal 精度保留RoundingMode

来源:互联网 发布:fc-san网络 编辑:程序博客网 时间:2024/04/28 14:24

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