在Java中从Long转换为Double

有什么办法将Long数据types转换为Doubledouble

例如,我需要将15552451L转换为double数据types。

你可以简单地做:

 double d = (double)15552451L; 

或者你可以从Long对象中获得两倍,如下所示:

  Long l = new Long(15552451L); double d = l.doubleValue(); 

简单的铸造?

 double d = (double)15552451L; 

你在找二进制转换吗?

 double result = Double.longBitsToDouble(15552451L); 

这会给你一个与long文字相同的位模式的double

在这里,二进制或hex文字将派上用场。 这里有些例子。

 double nan = Double.longBitsToDouble(0xfff0000000000001L); double positiveInfinity = Double.longBitsToDouble(0x7ff0000000000000L); double positiveInfinity = Double.longBitsToDouble(0xfff0000000000000L); 

(请参阅Double.longBitsToDouble(long) )

你也可以得到long回来

 long bits = Double.doubleToRawLongBits(Double.NaN); 

(请参阅Double.doubleToRawLongBits(double) )

 Long i = 1000000; String s = i + ""; Double d = Double.parseDouble(s); Float f = Float.parseFloat(s); 

这样,我们可以将Longtypes转换为Double或Float或Int,因为它很容易将string值转换为Double或Float或Int。

你是什​​么意思的长date型?

你可以投一个很长的双倍:

 double d = (double) 15552451L; 

你可以尝试这样的事情:

 long x = somevalue; double y = Double.longBitsToDouble(x);