java如何将double转换成int
将 double 转换为 int 的方法
在 Java 中,将 double 类型转换为 int 类型有多种方法,具体选择取决于需求和场景。
直接强制类型转换
通过强制类型转换可以直接将 double 截断为 int,但会丢失小数部分。
double d = 123.456;
int i = (int) d; // i = 123
使用 Math.round() 四舍五入
Math.round() 方法会对 double 进行四舍五入,返回 long 类型,可以再转换为 int。
double d = 123.789;
int i = (int) Math.round(d); // i = 124
使用 Math.floor() 向下取整
Math.floor() 方法会返回小于或等于 double 的最大整数(double 类型),需要强制转换为 int。
double d = 123.789;
int i = (int) Math.floor(d); // i = 123
使用 Math.ceil() 向上取整
Math.ceil() 方法会返回大于或等于 double 的最小整数(double 类型),需要强制转换为 int。
double d = 123.123;
int i = (int) Math.ceil(d); // i = 124
使用 Double.intValue()
如果 double 存储在 Double 包装类中,可以直接调用 intValue() 方法转换为 int。

Double d = 123.456;
int i = d.intValue(); // i = 123
注意事项
- 强制类型转换会直接截断小数部分,不进行四舍五入。
Math.round()返回的是long,需要强制转换为int。- 如果
double值超出int范围(-2³¹ 到 2³¹-1),转换会导致溢出错误。






