📅  最后修改于: 2023-12-03 15:25:13.510000             🧑  作者: Mango
在 Java 中,可以使用 longValue()
方法将 Double
类型的数值转换为 long
类型的数值。这个方法是 Number
类的一个成员方法,因此 Double
类也可以使用它。
下面是一个示例程序,演示如何将一个 Double
类型的数值转换为 long
类型的数值:
public class DoubleToLongExample {
public static void main(String[] args) {
Double d = 123.456;
Long l = d.longValue();
System.out.println("Double value: " + d);
System.out.println("Long value: " + l);
}
}
在这个程序中,我们首先定义了一个 Double
类型的变量 d
,并将其初始化为 123.456
。然后,我们调用 longValue()
方法将其转换为一个 Long
类型的变量 l
。最后,我们使用 System.out.println()
方法输出了这两个变量的值。
这个程序的输出是:
Double value: 123.456
Long value: 123
如你所见,输出结果中 Long
类型的数值只保留了 Double
类型数值的整数部分,小数部分被舍去了。
注意,如果 Double
类型的数值超出了 long
类型的取值范围,那么将会抛出 ArithmeticException
异常。因此,在转换之前,建议先使用 doubleValue()
方法判断一下是否超出了取值范围。下面是一个示例程序:
public class DoubleToLongExample2 {
public static void main(String[] args) {
Double d = 12345678901234567890.0;
if (d.doubleValue() < Long.MAX_VALUE && d.doubleValue() > Long.MIN_VALUE) {
Long l = d.longValue();
System.out.println("Double value: " + d);
System.out.println("Long value: " + l);
} else {
System.out.println("Double value is out of range of long type.");
}
}
}
在这个程序中,我们首先定义了一个超出了 long
类型的取值范围的 Double
类型的变量 d
。然后,我们使用 doubleValue()
方法判断了一下是否超出了取值范围。如果没有超出,那么我们就调用 longValue()
方法将其转换为一个 Long
类型的变量 l
,并输出这两个变量的值。如果超出了,那么我们就输出一条警告信息,表示这个 Double
类型的数值已经超出了 long
类型的取值范围。
这个程序的输出是:
Double value is out of range of long type.
这个示例程序表明,要注意数据类型之间的取值范围。在转换类型之前,先使用取值范围检查,以避免出现数据超过取值范围的情况。