将float转换为double而不会丢失精度
我有一个原始的浮点数,我需要作为一个原始的双。简单地将浮子铸造成双倍会给我带来奇怪的额外精度。例如:
float temp = 14009.35F;
System.out.println(Float.toString(temp)); // Prints 14009.35
System.out.println(Double.toString((double)temp)); // Prints 14009.349609375
但是,如果不是强制转换,我将float作为字符串输出,并将字符串解析为double,我得到我想要的:
System.out.println(Double.toString(Double.parseDouble(Float.toString(temp))));
// Prints 14009.35
有没有比去String更好的方法呢?
杨魅力
慕的地6264312
相关分类