2011-06-02 5 views
44

posibles duplicados:
Objective C - float checking for nan
Determine if NSNumber is NaNcómo comprobar si hay valor NaN en Objective-C (SDK iPhone)

tengo un problema con valores NaN en CGFloat, ¿cómo puede ¿Compruebo si el número es válido?

la única manera tan lejos que funciona es:

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

que no es una buena solución en todos !!!! :) ... y estoy bastante seguro de que hay algo más que debería hacer en su lugar ...

+1

Una cadena de duplicados, incluso : [Objetivo C - comprobación flotante de nan] (http://stackoverflow.com/questions/3471988/objective-c-float-checking-for-nan) a [isNan en el objetivo c] (http://stackoverflow.com/questions/2109257/isnan-in-objective-c) to [Determina si NSNumber es NaN] (http://stackoverflow.com/questions/719417/determine -if-nsnumber-is-nan) –

+2

Creo que [esta pregunta] (http://stackoverflow.com/questions/3471988/objective-c-float-checking-for-nan) tiene la respuesta a su problema. – makdad

Respuesta

136

Hay una definición para comprobar si un número es nan inf, etc. en math.h (puede usarlo sin importar Creo).

isnan(myValue) 

si sigue la define el resultado final será con

(x!=x) 

también hay algunos otros define como útiles isinf, isnormal, isfinite, ...

+1

¡genial! Gracias – SpaceDog

Cuestiones relacionadas