web-dev-qa-db-ja.com

Objective-CでNaN値を確認する方法(iOS)

可能性のある重複:
Objective-C-nanのfloatチェック
NSNumberがNaNかどうかを判別

CGFloatのNaN値に問題があります。数値が有効かどうかを確認するにはどうすればよいですか?

これまでのところ唯一機能する方法は次のとおりです。

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

これはすてきな解決策ではありません! :) ...そして、私は代わりに私がすべき他の何かがあると確信しています。

50
Ondrej

数値がmath.hにnan infなどであるかどうかをチェックするための定義があります(インポートなしで使用できると思います)。

isnan(myValue)

定義に従うと、最終的には

(x!=x)

isinf、 isnormalisfinite 、...などの便利な定義もあります。

144
thomas