Java 中有三种四舍五入取整算法:Math.round():四舍五入到最接近的整数,奇数向上取整;BigDecimal:提供更高精度的四舍五入,支持设置四舍五入规则;除法取整:除以 1 后向下取整。选择算法时考虑精度、速度和取整方向。

java四舍五入取整算法
在 Java 中,有以下几种四舍五入取整的算法:
1. Math.round()
Math.round() 方法将该数字四舍五入为最接近的整数。
立即学习“Java免费学习笔记(深入)”;
- 如果数字为奇数,则向上取整。
- 如果数字为偶数,则向下取整。
System.out.println(Math.round(3.14)); // 输出 3 System.out.println(Math.round(4.50)); // 输出 5
2. BigDecimal
BigDecimal 类提供了更高精度的四舍五入方法。
-
setScale(0, RoundingMode.HALF_EVEN):将该数字四舍五入到最接近的整数,采用四舍五入规则(奇数向上取整,偶数向下取整)。 -
setScale(0, RoundingMode.HALF_UP):将该数字向上取整到最接近的整数。
BigDecimal number = new BigDecimal("3.14");
System.out.println(number.setScale(0, RoundingMode.HALF_EVEN)); // 输出 33. 通过除法取整
此方法通过除以 1,然后向下取整,来将数字四舍五入到最近的整数。
System.out.println((int) (3.14 / 1)); // 输出 3
选择算法的注意事项:
- 如果需要高精度,则使用
BigDecimal类。 - 如果需要快速进行四舍五入,则使用
Math.round()方法。 - 如果需要向上取整,则使用
setScale(0, RoundingMode.HALF_UP)。











