有什么办法可以将Long数据类型转换为Double或double吗?
例如,我需要转换15552451L为double数据类型。
Answers:
您可以简单地做:
double d = (double)15552451L;
或者,您可以从Long对象中获得两倍的信息:
Long l = new Long(15552451L);
double d = l.doubleValue();
new),装箱不能被淘汰。
double d = 15552451L;
如前所述,您可以简单地将时间长为一倍。但请注意长到两倍的转换,因为长到两倍是缩小的转换是Java中。
从double类型到long类型的转换需要从64位浮点值到64位整数表示形式的平凡转换。根据实际的运行时值,信息可能会丢失。
例如下面的程序将打印1而不是0
long number = 499999999000000001L;
double converted = (double) number;
System.out.println( number - (long) converted);
您是否正在寻找二进制转换?
double result = Double.longBitsToDouble(15552451L);
这将为您double提供与long文字相同的位模式。
在这里,二进制或十六进制文字会派上用场。这里有些例子。
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);
long到double(我觉得铸造是你使用Java时候学会的第一件事)他也没有接受任何的答案。也许他想获得一个double与long值相同的位模式。好吧,我不知道。所以我给出了答案。
Long i = 1000000;
String s = i + "";
Double d = Double.parseDouble(s);
Float f = Float.parseFloat(s);
这样,我们可以很容易地将Long类型转换为Double或Float或Int,因为将字符串值转换为Double或Float或Int很容易。
你长约会是什么意思类型?
您可以将long转换为double:
double d = (double) 15552451L;
Long.valueOf(15552451L).doubleValue()如果您想通过Long。请注意,从内部来讲,这与从进行的投射相同,double只是您要进行一些自动/拆箱操作。