RoundingMode用法
时间: 2024-09-12 07:00:26 浏览: 45
RoundingMode 是 Java 中用于控制舍入模式的一个枚举类型,它属于 `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
}
}
```
阅读全文