BigDecimal 的舍入模式

本文详细介绍了Java中BigDecimal类的除法运算及其不同舍入模式的应用方式,包括ROUND_UP、ROUND_DOWN、ROUND_CEILING等八种模式,并举例说明了每种模式下数值的变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

转载于:https://my.oschina.net/u/3496297/blog/1602478

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值