在Eclipse中计算浮点数时结果错误

时间:2018-10-28 10:39:08

标签: java eclipse

Eclipse在尝试计算两个浮点数之和时给出错误的结果。 在我的代码中,有2个浮点变量:float from = 0.025float to = 1。 然后结果具有双变量:double value = 7 * from / to。 Eclipse编译器显示:value = 0.174999997019767760 在excel计算器中,此结果为value = 0.175

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这仅仅是因为您的Java程序没有像excel计算器一样对结果进行四舍五入。这是计算机处理浮点运算的方式的结果。您有两种选择:将结果取整,或使用java BigDecimal类。如果要舍入结果,可以使用:

float from = 0.025f;
float to = 1;
double value = 7 * from / to;
DecimalFormat ds = new DecimalFormat("#.###");
double rounded = Double.parseDouble(ds.format(value));
System.out.println(rounded);

如果您不想舍入,可以使用BigDecimal类。 Java BigDecimal