我试图在Objective-C程序中进行一些数字舍入和字符串转换,以增强输出.
我有一个浮点值,我想四舍五入到最接近的.5,然后用它来设置标签上的文本.
例如:
1.4将是一系列:1.5
1.2将是一系列:1
0.2将是一个字符串:0
我花了一段时间在谷歌上寻找答案,但作为一个有Objective-C的noob,我不知道该搜索什么!所以,我真的很感激能给我一个指向正确方向的指针!
谢谢
我试图在Objective-C程序中进行一些数字舍入和字符串转换,以增强输出.
我有一个浮点值,我想四舍五入到最接近的.5,然后用它来设置标签上的文本.
例如:
1.4将是一系列:1.5
1.2将是一系列:1
0.2将是一个字符串:0
我花了一段时间在谷歌上寻找答案,但作为一个有Objective-C的noob,我不知道该搜索什么!所以,我真的很感激能给我一个指向正确方向的指针!
谢谢
谢谢大家的指点,我已经想出了一个解决方案:
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];
以上内容适用于我提交的测试用例,但如果有人知道更好的方法,我很想听听!