2011-06-02 2 views
44

Возможные Дубликаты:
Objective C - float checking for nan
Determine if NSNumber is NaNкак проверить значение NaN в Objective-C (iphone SDK)

У меня есть проблема со значениями NaN в CGFloat, как может Я проверяю, действительно ли номер?

единственный способ до сих пор, что работает это:

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

, который не является хорошим решением вообще !!!! :) ... и я уверен, что есть что-то еще, что мне следует сделать ...

+1

Цепь простофиль, даже : [Objective C - проверка флота для nan] (http://stackoverflow.com/questions/3471988/objective-c-float-checking-for-nan) в [isNan в объективе c] (http://stackoverflow.com/questions/2109257/isnan-in-objective-c) [Определить, является ли NSNumber NaN] (http://stackoverflow.com/questions/719417/determine -if-nsnumber-is-nan) –

+2

Я верю, что [этот вопрос] (http://stackoverflow.com/questions/3471988/objective-c-float-checking-for-nan) есть ответ на вашу проблему. – makdad

ответ

136

Существует определение для проверки того, является ли число nan inf и т. д. в math.h (вы можете использовать его без импорта Я думаю).

isnan(myValue) 

, если вы будете следовать определить вы будете в конечном итоге с

(x!=x) 

Есть также некоторые другие полезные определяет как isinf, isnormal, isfinite ...

+1

блестящий! благодаря – SpaceDog

Смежные вопросы