在Objective-C中四舍五入数字

我正在尝试对数字进行舍入并转换为字符串,以增强Objective-C程序的输出。


我有一个浮点值,我想四舍五入到最接近的.5,然后用它来设置标签上的文本。


例如:


1.4将是以下字符串:1.5


1.2将是以下字符串:1


0.2将是一个字符串:0


我花了一段时间在Google上寻找答案,但是作为Objective-C的菜鸟,我不确定要搜索什么!因此,我非常感谢朝着正确方向的指针!


谢谢,Ash


胡子哥哥
浏览 458回答 3
3回答

繁星点点滴滴

感谢大家的指导,我设法提出了一个解决方案:float roundedValue = round(2.0f * number) / 2.0f;NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];[formatter setMaximumFractionDigits:1];[formatter setRoundingMode: NSNumberFormatterRoundDown];NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithFloat:roundedValue]];[formatter release];上面的代码适用于我抛出的测试用例,但是如果有人知道一种更好的方法,我很想听听它!

动漫人物

float floatVal = 1.23456;四舍五入int roundedVal = lroundf(floatVal); NSLog(@"%d",roundedVal);围捕int roundedUpVal = ceil(floatVal); NSLog(@"%d",roundedUpVal);四舍五入int roundedDownVal = floor(floatVal);NSLog(@"%d",roundedDownVal);

有只小跳蛙

一种简单的方法: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
打开App,查看更多内容
随时随地看视频慕课网APP