Roc's Blog

Java 如何判断一个数字是否为 NaN

1 min readSolution

NaN:Not a Number ; 不是一个数字。它与任何值都不相等,甚至不等于它自己;任何数与 NaN 一起计算那么结果也为 NaN。

Float 与 Double 两个类各有一个 isNaN() 的方法,可以帮助判断当前数字是否是 NaN。

float a = Float.NaN;
double b = Double.NaN * 2;
 
System.out.println(Double.isNaN(a));
System.out.println(Double.isNaN(b));
System.out.println(Float.isNaN(a));

输入的结果为:

true
true
true

【注】float 会向上转为 double,所以可以使用 Dobule.isNaN() 判断 float 是否为 NaN。