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

时间:2011-06-02 21:49:40

标签: ios objective-c xcode cgfloat

  

可能重复:
  Objective-C - float checking for nan
  Determine if NSNumber is NaN

我在CGFloat中遇到NaN值问题,如何检查该号码是否有效?

到目前为止唯一有效的方法是:

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

这根本不是一个好的解决方案! :) ...而且我很确定我还应该做些什么。

1 个答案:

答案 0 :(得分:141)

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

isnan(myValue)

如果您按照定义进行操作,最终会以

结束
(x!=x)

还有一些其他有用的定义,如isinf,isnormalisfinite,......