📜  将 Double 转换为 Long 的Java程序(1)

📅  最后修改于: 2023-12-03 15:25:13.510000             🧑  作者: Mango

将 Double 转换为 Long 的 Java 程序

在 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.

这个示例程序表明,要注意数据类型之间的取值范围。在转换类型之前,先使用取值范围检查,以避免出现数据超过取值范围的情况。