java 如何求整
在Java中,求整操作可以通过多种方式实现,具体取决于需求和场景。以下是常见的几种方法:
使用 Math.floor() 向下取整
Math.floor() 方法返回小于或等于参数的最大整数(向下取整)。
示例代码:

double num = 3.7;
double result = Math.floor(num); // 结果为 3.0
使用 Math.ceil() 向上取整
Math.ceil() 方法返回大于或等于参数的最小整数(向上取整)。
示例代码:
double num = 3.2;
double result = Math.ceil(num); // 结果为 4.0
使用 Math.round() 四舍五入
Math.round() 方法返回最接近参数的整数(四舍五入)。
示例代码:

double num = 3.5;
long result = Math.round(num); // 结果为 4
强制类型转换截断小数部分
直接将浮点数强制转换为整数类型(如 int 或 long)会截断小数部分。
示例代码:
double num = 3.9;
int result = (int) num; // 结果为 3
使用 BigDecimal 精确控制
BigDecimal 类提供更精确的取整方式,支持多种舍入模式(如 ROUND_DOWN、ROUND_UP)。
示例代码:
import java.math.BigDecimal;
import java.math.RoundingMode;
BigDecimal num = new BigDecimal("3.7");
BigDecimal result = num.setScale(0, RoundingMode.DOWN); // 结果为 3
选择方法的依据
- 需要向下取整时使用
Math.floor()。 - 需要向上取整时使用
Math.ceil()。 - 需要四舍五入时使用
Math.round()。 - 直接截断小数部分时使用强制类型转换。
- 需要高精度控制时使用
BigDecimal。






