Cur*_*rds 6 java floating-point comparison-operators
为什么Java在比较-0.0和+0.0时不一致?将数字与-0/+ 0进行比较的Java标准方法是什么?
我遇到过这个特别的bugaboo:
public class ZeroCompare {
public static void main(String[] args) {
if ( 0.0 == -0.0 ) {
System.out.println("== --> same");
} else {
System.out.println("== --> different");
}
if ( new Double(0.0).equals( -0.0 ) ) {
System.out.println("equals --> same");
} else {
System.out.println("equals --> different");
}
}
}
Run Code Online (Sandbox Code Playgroud)
它打印以下内容:
== --> same
equals --> different
Run Code Online (Sandbox Code Playgroud)
我非常不喜欢这样一个事实:你如何比较这两个值会影响结果,我喜欢解释.
归档时间: |
|
查看次数: |
922 次 |
最近记录: |