如何在Java中比较两个双精度值?
2022-08-31 13:29:04
在Java中对两个双精度值进行简单比较会产生一些问题。让我们考虑以下 Java 中的简单代码片段。
package doublecomparision;
final public class DoubleComparision
{
public static void main(String[] args)
{
double a = 1.000001;
double b = 0.000001;
System.out.println("\n"+((a-b)==1.0));
}
}
上面的代码似乎返回表达式的求值,但它没有。相反,它返回是因为此表达式的计算值实际上是预期的不等于,因此,条件的计算结果为布尔值 。克服这种情况的最佳和建议的方法是什么?true
((a-b)==1.0)
false
0.9999999999999999
1.0
1.0
false