在Java中从Long转换为Double
有什么办法将Long
数据types转换为Double
或double
?
例如,我需要将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);