53

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

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

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

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

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

4

1 に答える 1

152

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

isnan(myValue)

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

(x!=x)

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

于 2011-06-02T21:58:14.373 に答える