Преобразовать в абсолютное значение в Objective-C
Как преобразовать отрицательное число в абсолютное значение в Objective-C?
то есть
-10
становится
10?
2 ответов
в зависимости от типа переменной, один из abs(int)
, labs(long)
, llabs(long long)
, imaxabs(intmax_t)
, fabsf(float)
, fabs(double)
или fabsl(long double)
.
эти функции являются частью стандартной библиотеки C и поэтому присутствуют как в Objective-C, так и в plain C (и, как правило, доступны в программах на C++.)
(увы, нет и использовать std::abs()
, который является шаблоном для всех стандартных целых чисел и типов с плавающей запятой.
вы можете использовать эту функцию для получения абсолютного значения:
+(NSNumber *)absoluteValue:(NSNumber *)input {
return [NSNumber numberWithDouble:fabs([input doubleValue])];
}