在 Java 中将 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