java 如何取整
取整方法
Java 提供了多种取整方式,适用于不同的需求场景。以下是常见的取整方法及其使用示例:
Math.floor()
向下取整,返回小于或等于参数的最大 double 值。
double num = 3.7;
double result = Math.floor(num); // 结果为 3.0
Math.ceil()
向上取整,返回大于或等于参数的最小 double 值。
double num = 3.2;
double result = Math.ceil(num); // 结果为 4.0
Math.round()
四舍五入取整,返回最接近参数的 long 或 int 值。
double num = 3.5;
long result = Math.round(num); // 结果为 4
强制类型转换
通过强制转换为 int 或 long 实现直接截断小数部分。
double num = 3.9;
int result = (int) num; // 结果为 3
BigDecimal.setScale()
通过 BigDecimal 类实现精确的四舍五入控制。
import java.math.BigDecimal;
import java.math.RoundingMode;
BigDecimal num = new BigDecimal("3.567");
BigDecimal result = num.setScale(0, RoundingMode.HALF_UP); // 结果为 4
注意事项
- Math.floor() 和 Math.ceil() 返回 double 类型,若需整数需强制转换
- Math.round() 对 float 返回 int,对 double 返回 long
- 强制类型转换会直接截断小数部分,不进行四舍五入
- 金融计算等精确场景推荐使用 BigDecimal







