BigDecimal 的舍入模式

pubilc BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)

divisor:被除数

结果保留有scale个小数位,roundingMode表示的就是保留模式

1、ROUND_UP:舍位时远离0的方向(<-- 0 -->)

                             1.1-> 2   1.5-> 2   1.8-> 2   -1.1-> -2   -1.5-> -2   -1.8-> -2

2、ROUND_DOWN:舍位时向0的方向移动(--> 0 <--)

                             1.1-> 1   1.5-> 1   1.8-> 1   -1.1-> -1   -1.5-> -1   -1.8> -1 

3、ROUND_CEILING: 舍位时往正无穷方向移动  (-->)

              (如果 BigDecimal 为正,则做 ROUND_UP,如果为负,则做 ROUND_DOWN )

                             1.1-> 2   1.5-> 2   1.8-> 2   -1.1-> -1   -1.5-> -1   -1.8-> -1 
4、ROUND_FLOOR:舍位时往负无穷方向移动  (<--)

              (如果 BigDecimal 为正,则作 ROUND_UP ,如果为负,则作 ROUND_DOWN )

                             1.1-> 1   1.5-> 1   1.8-> 1   -1.1-> -2   -1.5-> -2   -1.8-> -2 

5、ROUND_HALF_UP:最常见的四舍五入 

               (若舍弃部分>=5,则作 ROUND_UP ,否则,作 ROUND_DOWN )

                              1.14-> 1.1   1.15-> 1.2   1.16-> 1.2   -1.14-> -1.1   -1.15-> -1.2   -1.16-> -1.2   6、ROUND_HALF_DOWN:五舍六入

                (若舍弃部分> 5,则作 ROUND_UP;否则,作 ROUND_DOWN )

                              1.15-> 1.1   1.16-> 1.2   -1.15-> -1.1   -1.16-> -1.2   
7、ROUND_HALF_EVEN:

         (如果舍弃部分左边的数字为奇数,则作 ROUND_HALF_UP,如果为偶数,则作 ROUND_HALF_DOWN )

                              1.15-> 1.2   1.16-> 1.2   1.25-> 1.2   1.26-> 1.3 
8、UNNECESSARY:无需舍位 

猜你喜欢

转载自my.oschina.net/u/3496297/blog/1602478