2011-11-02 38 views
29

thể trùng lặp:
Convert to absolute value in Objective-CTương đương với Math.abs() trong Mục tiêu-C là gì?

Như tôi đang chơi với đồ họa 2d, tôi muốn để tính toán số lượng đối tượng điểm đã chuyển giữa 2 CGPoints. Cho rằng đối tượng có thể di chuyển theo cả hai hướng, tôi chỉ quan tâm đến số điểm tuyệt đối đại diện cho sự khác biệt.

Trong Java Tôi muốn Math.abs(startpoint.x - endpoint.x)

Làm thế nào tôi có thể làm điều tương tự trong Objective-C?

Trả lời

65

Có C chức năng từ <math.h> rằng sẽ làm những gì bạn muốn:

abs(int val); 
labs(long val); 
llabs(long long val); 
fabs(double val); 
fabsf(float val); 
fabsl(long double val): 

Cho rằng CGPoint cấu trúc bao gồm các CGFloat s, bạn nên sử dụng fabsf đây.

Kiểm tra các Wikipedia page

+1

Tôi biết rằng nó được viết từ lâu rồi, nhưng lời khuyên của bạn là không đúng, vì CGFloat là tăng gấp đôi, bạn nên sử dụng 'fabs' – asdf

+2

gì về 'ABS'? Nó có vẻ là một cách thuận tiện hơn. – skyline75489

Các vấn đề liên quan