在此程序中,我们将学习如何在Java中将双精度 double 变量转换为整数(int)。
要理解此示例,您应该了解以下Java编程主题:
class Main { public static void main(String[] args) { //创建 double 变量 double a = 23.78D; double b = 52.11D; //将double转换为int //使用显示强制类型转换 int c = (int)a; int d = (int)b; System.out.println(c); // 23 System.out.println(d); // 52 } }
在上面的示例中,我们有double类型变量a和b。注意这一行,
int c = (int)a;
在此,较高的 double 数据类型 将转换为较低的 int 数据类型。因此,我们需要在括号内明确使用 int。
这称为窄化类型转换。要了解更多信息,请访问Java 类型转换。
注意:当 double 的值小于或等于int(2147483647)的最大值时,此过程有效。否则,会出现数据被截断丢失的情况。
我们还可以使用Math.round()方法将 double 类型变量转换为 int 类型变量 。例如,
class Main { public static void main(String[] args) { //创建 double 变量 double a = 99.99D; double b = 52.11D; //将double转换为int //使用类型转换 int c = (int)Math.round(a); int d = (int)Math.round(b); System.out.println(c); // 100 System.out.println(d); // 52 } }
在上面的示例中,我们创建了两个double类型,名为 a 和 b 的变量。注意这一行,
int c = (int)Math.round(a);
这里,
Math.round(a) - 将decimal值转换为long值
(int) - 使用类型转换将long值转换为int值
Math.round()方法将十进制值四舍五入为最接近的long值。要了解更多信息,请访问 Java Math round()。
我们还可以使用intValue()方法将Double类的实例转换为int。 例如
class Main { public static void main(String[] args) { //创建Double的实例 Double obj = 78.6; //将obj转换为int //使用intValue() int num = obj.intValue(); //打印int值 System.out.println(num); // 78 } }
在这里,我们使用了intValue()方法将Double对象转换为int。
这里,Double是Java的包装类。要了解更多信息,请访问Java包装类。