RoundingMode模式

第一对

RoundingMode.CEILING + RoundingMode.FLOOR:

正无穷和负无穷

ceiling 天花板,向正无穷靠近 

2.4>3
2.5>3
2.6>3
-2.4>-2
-2.5>-2
-2.6>-2

floor 地板: 向负无穷靠近  

2.4>2
2.5>2
2.6>2
-2.4>-3
-2.5>-3
-2.6>-3

第二对

RoundingMode.UP+ RoundingMode.DOWN

以0为分界线  (先取绝对值,最后加上符号)

UP:远离0   

2.4>3
2.5>3
2.6>3
-2.4>-3
-2.5>-3
-2.6>-3

DOWN:靠近0 

2.4>2
2.5>2
2.6>2
-2.4>-2
-2.5>-2
-2.6>-2

RoundingMode.HALF_UP + RoundingMode.HALF_DOWN

以5为分界线 (先取绝对值,最后加上符号)

HALF_UP:  (满5进1) (四舍五入)

2.4>2
2.5>3
2.6>3
-2.4>-2
-2.5>-3
-2.6>-3

HALF_DOWN:(满6进1)

2.4>2
2.5>2
2.6>3
-2.4>-2
-2.5>-2
-2.6>-3

RoundingModeJava 中用于控制舍入模式的一个枚举类型,它属于 `java.math.RoundingMode` 类。舍入模式决定了在四舍五入过程中,当数字处于中间值时如何处理。RoundingMode 枚举共有以下几种舍入模式: 1. **CEILING**: 向正无穷方向舍入,即总是向上舍入为最接近的整数。 2. **DOWN**: 向零方向舍入,即总是向下舍入为最接近的整数。 3. **FLOOR**: 向负无穷方向舍入,即总是向下舍入为最接近的整数。 4. **HALF_EVEN**: 向最近的整数舍入,当两个整数等距时,向偶数舍入(也就是向最近的偶数舍入)。 5. **HALF_DOWN**: 向最近的整数舍入,当两个整数等距时,向零方向舍入(也就是向最近的较小整数舍入)。 6. **HALF_UP**: 向最近的整数舍入,当两个整数等距时,向远离零的方向舍入(也就是向最近的较大整数舍入),这是通常意义上的四舍五入。 7. **UNNECESSARY**: 断言请求的操作有确切的结果,不需要舍入。 8. **UP**: 向远离零的方向舍入,总是向上舍入为最接近的整数。 使用 RoundingMode 的基本用法如下: 1. 创建一个 `BigDecimal` 实例。 2. 调用 `BigDecimal` 的 `setScale` 方法,并传入你想要的舍入模式。 3. 使用 `RoundingMode` 枚举值作为 `setScale` 方法的第二个参数来指定具体的舍入模式。 例如,如果你想要对数值 123.456 进行四舍五入到小数点后两位的舍入模式,你可以这样使用: ```java import java.math.BigDecimal; import java.math.RoundingMode; public class RoundingModeExample { public static void main(String[] args) { BigDecimal bd = new BigDecimal("123.456"); bd = bd.setScale(2, RoundingMode.HALF_UP); // 使用 HALF_UP 舍入模式 System.out.println(bd); // 输出 123.46 } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值