如何在 Objective-C 中将负数转换为绝对值?
IE
-10
变成
10?
根据变量的类型,abs(int), labs(long), llabs(long long), imaxabs(intmax_t), fabsf(float), fabs(double), 或之一fabsl(long double)。
abs(int)
labs(long)
llabs(long long)
imaxabs(intmax_t)
fabsf(float)
fabs(double)
fabsl(long double)
这些函数都是 C 标准库的一部分,因此存在于 Objective-C 和普通 C 中(并且通常在 C++ 程序中也可用。)
(唉,没有habs(short)功能。或者scabs(signed char)就此而言......)
habs(short)
scabs(signed char)
Apple 和 GNU 的 Objective-C 头文件还包括一个ABS()与类型无关的宏。但是我不建议使用ABS()它,因为它不能保证副作用安全。例如,ABS(a++)将有一个未定义的结果。
ABS()
ABS(a++)
如果你使用 C 或 Objective-C,你可以引入<cmath>header 和 use std::abs(),它是所有标准整数和浮点类型的模板。
<cmath>
std::abs()