在 Java 中将 Long 转换为 Double
Mohammad Irfan
2023年10月12日
- 在 Java 中使用隐式转换将 Long 转换为 Double
- 在 Java 中使用显式转换将 Long 转换为 Double
-
使用 Java 中的
doubleValue()
方法将 Long 转换为 Double -
使用 Java 中的
longBitsToDouble()
方法将 Long 转换为 Double -
使用 Java 中的
longBitsToDouble()
方法将 Long 转换为 Double
本教程介绍如何在 Java 中将 long 类型转换为 double 类型。
在 Java 中,long 和 double 都用于存储数值。long 用于存储非浮点值,而 double 用于存储浮点值。两者都使用相同数量的字节(16 字节)将数据存储到内存中。
在本文中,我们将学习使用一些方法,例如 doubleValue()
、longBitsToDouble()
和 parseDouble()
方法将 long 类型的值转换为 double 类型。让我们从一些例子开始。
在 Java 中使用隐式转换将 Long 转换为 Double
在此示例中,我们将 long 类型值转换为 double 类型。由于两者都使用相同的字节,因此转换很容易实现,双精度值会在长整型值后附加一个浮点数。请参阅下面的示例。
public class SimpleTesting {
public static void main(String[] args) {
long l = 97;
System.out.println("long value: " + l);
double d = l;
System.out.println("double value: " + d);
}
}
输出:
long value: 97
double value: 97.0
在 Java 中使用显式转换将 Long 转换为 Double
虽然我们不需要对 long 到 double 转换使用显式转换以获得更好的代码,但我们可以使用显式转换。看下面的例子;我们得到与上面例子中相同的结果。
public class SimpleTesting {
public static void main(String[] args) {
long l = 97;
System.out.println("long value: " + l);
double d = (double) l;
System.out.println("double value: " + d);
}
}
输出:
long value: 97
double value: 97.0
使用 Java 中的 doubleValue()
方法将 Long 转换为 Double
如果你有一个 long 对象,你可以简单地使用 Long 类的 doubleValue()
方法来获取 double 类型的值。此方法不接受任何参数,但在转换 long 值后返回双精度值。请参阅下面的示例。
public class SimpleTesting {
public static void main(String[] args) {
Long l = new Long(97);
System.out.println("long value: " + l);
double d = l.doubleValue();
System.out.println("double value: " + d);
}
}
输出:
long value: 97
double value: 97.0
使用 Java 中的 longBitsToDouble()
方法将 Long 转换为 Double
我们也可以使用 longBitsToDouble()
方法从 long 类型中获取双精度值。这是一个静态方法,属于 Double
类。这种方法实际上是进行二进制级别的转换。因此,要以可读形式获得结果,请使用 doubleToRawLongBits()
方法。请参阅下面的示例。
public class SimpleTesting {
public static void main(String[] args) {
long l = 97;
System.out.println("long value: " + l);
double d = Double.longBitsToDouble(l);
System.out.println("double value: " + d);
System.out.println(Double.doubleToRawLongBits(d));
}
}
输出:
long value: 97
double value: 4.8E-322
97
使用 Java 中的 longBitsToDouble()
方法将 Long 转换为 Double
parseDouble()
方法接受一个字符串类型的 long 对象值并返回一个双精度值。这是 Double
类的静态方法,只能用于字符串参数。请参阅下面的示例。
public class SimpleTesting {
public static void main(String[] args) {
Long l = new Long(97);
System.out.println("long value: " + l);
double d = Double.parseDouble(l + "");
System.out.println("double value: " + d);
}
}
输出:
long value: 97
double value: 97.0