如何比较Java中的两个double值?
Java中两个double值的简单比较会产生一些问题。让我们考虑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
因此不等于,因此条件求值为boolean false
。克服这种情况的最佳方法是什么?
茅侃侃
慕妹3242003
相关分类