NaN加数的偏差不会导致NaN值

时间:2017-09-13 15:53:48

标签: java double nan

我使用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值吗?

1 个答案:

答案 0 :(得分:3)

您的情况与您的输出并不对应 - 您检查结果是否实际上是NaN,然后​​打印出它不是。要么检查它是不是

if (!Double.isNaN(result))
    System.out.println("not NaN"); // This won't be reached in your case

或打印出来:

if (Double.isNaN(result))
    System.out.println("NaN");