相关疑难解决方法(0)

将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
Run Code Online (Sandbox Code Playgroud)

但是,如果不是强制转换,我将float作为字符串输出,并将字符串解析为double,我得到我想要的:

System.out.println(Double.toString(Double.parseDouble(Float.toString(temp))));
// Prints 14009.35
Run Code Online (Sandbox Code Playgroud)

有没有比去String更好的方法呢?

java floating-point double

93
推荐指数
6
解决办法
20万
查看次数

标签 统计

double ×1

floating-point ×1

java ×1