【发布时间】:2011-04-08 10:59:39
【问题描述】:
【问题讨论】:
标签: objective-c
【问题讨论】:
标签: objective-c
除了其他答案:
float theFloat = 1.23456;
int rounded = roundf(theFloat); NSLog(@"%d",rounded);
int roundedUp = ceil(theFloat); NSLog(@"%d",roundedUp);
int roundedDown = floor(theFloat); NSLog(@"%d",roundedDown);
// Note: int can be replaced by float
对于特定小数的四舍五入,请参阅 Alex Kazaev 提到的问题。
【讨论】:
roundf 而不是lroundf 在没有警告的情况下转换为int。由于编辑的最小字符更改限制,我无法编辑您的帖子。
函数lroundf()会做到这一点:
float a=20.49;
int myInt = lroundf(a);
【讨论】:
转换为int,然后再转换回float。
CGFloat *myFloat = 100.765;
NSInteger *myInteger = myFloat;
CGFloat *newFloat = myInteger;
这会起作用
【讨论】: