Objective-C中的Math.abs()相当于什么?

Jam*_*sev 29 objective-c

可能重复:
在Objective-C中转换为绝对值

当我正在玩2D图形时,我想计算对象在2之间移动的点数CGPoints.鉴于物体可以向两个方向移动,我只对表示差异的纯粹点数感兴趣.

JavaMath.abs(startpoint.x - endpoint.x)

我怎么能这样做Objective-C

Jac*_*kin 65

有C功能<math.h>可以做你想要的:

abs(int val);
labs(long val);
llabs(long long val);
fabs(double val);
fabsf(float val);
fabsl(long double val):
Run Code Online (Sandbox Code Playgroud)

鉴于CGPoint结构由CGFloats 组成,你应该fabsf在这里使用.

查看Wikipedia页面

  • 怎么样'ABS`?这似乎是一种更方便的方式. (3认同)
  • 我知道它是很久以前写的,但你的建议是不正确的,因为 CGFloat 是双倍你应该使用 `fabs` (2认同)