Преобразовать в абсолютное значение в 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])];
}