javadouble转int

Java中的double类型可以通过强制类型转换转换为int类型,但需要注意的是,double类型的小数部分会被截断,只保留整数部分。

示例代码:

double d = 3.14;
int i = (int) d;
System.out.println(i); // 输出结果为3

在上面的代码中,将double类型的变量d强制转换为int类型的变量i,输出结果为3,因为小数部分被截断了。

除了强制类型转换,还可以使用Math类中的一些方法将double类型转换为int类型,例如:

Math.round()方法:将double类型四舍五入为最接近的整数,并返回long类型,可以再强制转换为int类型。

示例代码:

double d = 3.14;
int i = (int) Math.round(d);
System.out.println(i); // 输出结果为3

Math.floor()方法:将double类型向下取整为最接近的整数,并返回double类型,可以再强制转换为int类型。

示例代码:

double d = 3.99;
int i = (int) Math.floor(d);
System.out.println(i); // 输出结果为3

Math.ceil()方法:将double类型向上取整为最接近的整数,并返回double类型,可以再强制转换为int类型。

示例代码:

double d = 3.01;
int i = (int) Math.ceil(d);
System.out.println(i); // 输出结果为4

需要注意的是,使用Math类中的方法进行转换时,需要考虑double类型的取值范围和精度问题,避免出现不准确的结果。