How to check for NaN value in Objective-C (iOS)

Ondrej Rafaj picture Ondrej Rafaj · Jun 2, 2011 · Viewed 40.5k times · Source

Possible Duplicates:
Objective-C - float checking for nan
Determine if NSNumber is NaN

I have a problem with NaN values in CGFloat, how can I check if the number is valid?

the only way so far that works is:

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

which is not a nice solution at all! :) ... and I am pretty sure that there is something else I should do instead.

Answer

thomas picture thomas · Jun 2, 2011

There is a define for checking if a number is nan inf etc in math.h (you can use it without import I think).

isnan(myValue)

if you follow the define you will end up with

(x!=x)

there are also some other useful defines like isinf, isnormal , isfinite , ...