2011-06-02 14 views
44

Olası çoğaltmaları kontrol etmeyi biliyor:
Objective C - float checking for nan
Determine if NSNumber is NaNObjective-C NaN değeri (iphone sdk)

Ben CGFloat NaN değerler, nasıl olurda bir sorun var Numaranın geçerli olup olmadığını kontrol ettim mi?

tek yol şimdiye kadar çalışır olmasıdır: hiç güzel bir çözüm değildir ki

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

!!!! :) ... ve eminim bunun yerine yapmam gereken başka bir şey var ...

+1

Bir zincir, hatta : [Objektif C - (n için nesnel kontrol c] [http://stackoverflow.com/questions/3471988/objective-c-float-checking-for-nan] için [isNan nesnel c] (http://stackoverflow.com/questions/2109257/isnan-in-object-c) [NSNumber'in NaN olup olmadığını belirleme] (http://stackoverflow.com/questions/719417/determine -if-nsnumber-is-nan) –

+2

[Bu soru] (http://stackoverflow.com/questions/3471988/objective-c-float-checking-for-nan) sorununun cevabına inanıyorum. – makdad

cevap

136

Math.h'de bir sayının naninf olup olmadığını kontrol etmek için bir tanım var. Bence).

isnan(myValue) 

Eğer isinf, isnormal, isfinite gibi bazı diğer yararlı tanımlar da vardır

(x!=x) 

ile sona erecek tanımlamak izlerseniz, ... dupes

+1

parlak! Teşekkürler – SpaceDog