13

我正在从数据库中收集一些数据并将它们加在一起以获得一些统计数据,但是由于我回溯了一些数据,所以计算的总和有时会出现NaN(不是数字)我想创建一个 if 语句,表示 if(不是数字)然后从我的表中排除这些数据。

如何测试数据(在这种情况下为双精度)是否为NaN

4

3 回答 3

39

有静态方法Float.isNaN(float)Double.isNaN(double)您可以使用它们。

double x = ... // whatever calculation you do

if (Double.isNaN(x)) {
    ...
}
于 2012-10-22T12:11:44.133 回答
4

您可以通过两种方式测试 NaN。您可以使用内置功能

Double.isNaN(x)

或执行检查,这是

if (x != x)

如果 x 是 adouble或 afloat

于 2012-10-22T12:13:47.403 回答
-6

这对你有用。

if(number == Float.NaN)
于 2012-10-22T12:12:55.203 回答