在不损失精度的情况下将浮点数转换为双精度
2022-08-31 09:14:10
我有一个原始的浮点,我需要作为一个原始的替身。简单地将浮子投掷到双倍会给我带来奇怪的额外精度。例如:
float temp = 14009.35F;
System.out.println(Float.toString(temp)); // Prints 14009.35
System.out.println(Double.toString((double)temp)); // Prints 14009.349609375
但是,如果我没有强制转换,而是将浮点数输出为字符串,并将字符串解析为双精度值,则我得到了我想要的:
System.out.println(Double.toString(Double.parseDouble(Float.toString(temp))));
// Prints 14009.35
有没有比去String和返回更好的方法?