objective-c - 在 Objective-C 中转换为绝对值

如何在 Objective-C 中将负数转换为绝对值?

-10

变成

10?

最佳答案

根据变量的类型,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) 就这件事......)


Apple 和 GNU 的 Objective-C header 还包括 ABS()与类型无关的宏。我不推荐使用 ABS()但是,因为它不能保证是副作用安全的。例如,ABS(a++)将产生未定义的结果。


如果您使用 C++ 或 Objective-C++,您可以引入 <cmath> header 和使用 std::abs() ,为所有标准整数和浮点类型模板化。

https://stackoverflow.com/questions/4717060/

相关文章:

ios - 动态改变UILabel的字体大小

iphone - @try - Objective-C 中的 catch block

ios - 从 UIView 到 UIViewController?

ios - iOS 7+ 中的 Base64 解码

ios - 尝试将非属性列表对象设置为 NSUserDefaults

ios - 等到两个异步 block 被执行后再开始另一个 block

iphone - 如何在 Objective-C 中定义和使用 ENUM?

ios - 在没有 UITableViewController 的情况下拉取刷新 UITableVi

objective-c - Objective-C 中的 NULL 与 nil

ios - 如何更改 UIButton 标题颜色?