如何在Objective-C (iOS)中检查NaN值

53

可能的重复问题:
Objective-C - 检查浮点数是否为 NaN
确定 NSNumber 是否为 NaN

我在 CGFloat 中遇到了 NaN 值的问题,如何检查数字是否有效?

目前唯一有效的方法是:

if ([[NSString stringWithFormat:@"%f", output] isEqualToString:@"nan"]) {
    output = 0;
}

这绝不是一个好的解决方案!:)...我相信我应该做些其他的事情。


2
我相信这个问题已经回答了你的问题。 - makdad
1个回答

153

在math.h中有一个宏定义,可以用于检查数字是否为nan、inf等(我认为你可以不导入就使用它)。

isnan(myValue)

如果你遵循定义,你最终会得到:

(x!=x)

还有一些其他有用的宏定义,例如isinf,isnormalisfinite等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接