¿Cómo convierto un número negativo a un valor absoluto en Objective-C?Convierta a valor absoluto en Objective-C
decir
-10
convierte
10?
¿Cómo convierto un número negativo a un valor absoluto en Objective-C?Convierta a valor absoluto en Objective-C
decir
-10
convierte
10?
Dependiendo del tipo de la variable, una de abs(int)
, labs(long)
, llabs(long long)
, imaxabs(intmax_t)
, fabsf(float)
, fabs(double)
, o fabsl(long double)
.
Esas funciones son parte de la biblioteca estándar de C, y así están presentes tanto en Objective-C y C plano (y generalmente están disponibles en C++ programas también.)
(Por desgracia, no hay ninguna función habs(short)
. O scabs(signed char)
para el caso ...)
cabeceras de Objective-C de GNU de Apple y también incluyen una macro ABS()
que es de tipo agnóstica. No recomiendo usar ABS()
, sin embargo, no se garantiza que sea seguro para los efectos secundarios. Por ejemplo, ABS(a++)
tendrá un resultado indefinido.
Si estás usando C++ u Objective-C++, se puede llevar en la cabecera <cmath>
y utilizar std::abs()
, que se templated para todos los tipos de enteros y de coma flotante estándar.
O podría usar la macro ABS, que funciona en cualquier tipo de número. – ughoavgfhw
@ugsomethingsomething 'ABS()' no es seguro para efectos secundarios en todos los compiladores, sin embargo, por eso no recomiendo usarlo. –
Es en realidad: fábulas fabsf (dobles) (float) – Alex
Puede utilizar esta función para obtener el valor absoluto:
+(NSNumber *)absoluteValue:(NSNumber *)input {
return [NSNumber numberWithDouble:fabs([input doubleValue])];
}
@SalvadorDali: No hay nada malo con SO; la pregunta no requirió esfuerzo y no sigue las pautas de SO, mientras que la respuesta es en profundidad y correcta. –