java 控制小数点四舍五入 当最后一位数为5时 奇数进位偶数不进位
时间: 2024-02-25 08:55:21 浏览: 21
在 Java 中,有一个 `BigDecimal` 类可以用来进行小数点的精确计算,并且可以通过设置舍入模式来实现小数点的四舍五入操作。
根据题意,当最后一位数为5时,奇数应该向上进位,偶数应该向下舍去。这种舍入模式在 Java 中称为“银行家舍入法”(RoundingMode.HALF_EVEN)。下面是一个示例代码:
```java
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Main {
public static void main(String[] args) {
// 创建一个 BigDecimal 对象,表示要进行四舍五入的数
BigDecimal num = new BigDecimal("1.235");
// 对 num 进行四舍五入操作,并且使用银行家舍入法
BigDecimal rounded = num.setScale(2, RoundingMode.HALF_EVEN);
// 输出结果
System.out.println(rounded); // 输出结果为 1.24
}
}
```
在上面的代码中,`setScale()` 方法用于设置小数点保留的位数,并且指定了使用银行家舍入法进行四舍五入。另外,需要注意的是,`BigDecimal` 类是一个不可变类,因此对其进行任何操作都会返回一个新的 `BigDecimal` 对象。