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:无需舍位