【发布时间】:2018-02-22 10:14:30
【问题描述】:
我正在使用Double.isNaN() 来检测 NaN 值。 `
Double nan = Double.NaN;
Double num = 1.5;
Double num2 = 4.5;
Double result = (nan+num)/num2;
System.out.println(result);// the result is NaN
if(Double.isNaN(result))
System.out.println("not NaN");//true
还有其他方法可以检测 NaN 值吗?
【问题讨论】:
-
if(Double.isNaN(result)) System.out.println("not NaN");??不是。修复后:ideone.com/KJrKxG 按预期工作 -
您在寻找
.isNaN()吗? docs.oracle.com/javase/7/docs/api/java/lang/Double.html -
“是否有任何 其他 方法来检测 NaN 值?” 当然,
if (result != result),这正是Double.isNaN(result)正在做的事情。 -
对不起,那是错误的问题,错误的代码。这是他的问题,但是当我使用结果进行比较时,结果变量不是 NaN,而是一个小值。
-
你为什么使用盒装的
Double?使用double!!