java如何取整
取整方法
Java中常用的取整方法有以下几种,适用于不同的场景:
Math.floor()
向下取整,返回小于或等于参数的最大整数(双精度浮点数)。
示例:

double result = Math.floor(3.7); // 结果为3.0
Math.ceil()
向上取整,返回大于或等于参数的最小整数(双精度浮点数)。
示例:
double result = Math.ceil(3.2); // 结果为4.0
Math.round()
四舍五入取整,返回最接近参数的整数(长整型或整型)。
示例:

long result = Math.round(3.5); // 结果为4
int result = Math.round(3.4f); // 结果为3(float类型需显式标注)
类型转换(强制转换)
直接截断小数部分,返回整数部分(整型)。
示例:
int result = (int)3.9; // 结果为3
注意事项
- 精度问题:
Math.floor()和Math.ceil()返回double类型,而Math.round()根据参数类型返回long或int。 - 负数处理:向下取整时,
Math.floor(-2.3)返回-3.0;向上取整时,Math.ceil(-2.3)返回-2.0。 - 性能考虑:直接类型转换速度最快,但会丢失小数部分。
扩展方法
BigDecimal取整
适用于高精度计算,通过setScale指定小数位数和舍入模式。
示例:
BigDecimal num = new BigDecimal("3.14159");
BigDecimal rounded = num.setScale(0, RoundingMode.HALF_UP); // 结果为3
RoundingMode枚举
提供多种舍入模式(如HALF_UP、FLOOR等),需配合BigDecimal使用。






