如何检查Objective-C中的NaN值(iphone sdk)

可能重复:
目标C – 检查nan
确定NSNumber是否是NaN

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

到目前为止,唯一可行的方法是:

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

这不是一个很好的解决scheme! 🙂 …我很确定有其他的东西我应该去做…

在math.h中有一个用于检查数字是否为inf等的定义(你可以在没有导入的情况下使用它)。

 isnan(myValue) 

如果你按照定义,你会最终

 (x!=x) 

还有一些其他有用的定义,如isinf, isnormal , isfinite ,…