我正在尝试进行一些数字舍入和转换为字符串,以增强 Objective-C 程序中的输出。
我有一个浮点值,我想四舍五入到最接近的 0.5,然后用它来设置标签上的文本。
例如:
1.4 将是一个字符串:1.5
1.2 将是一个字符串:1
0.2 将是一个字符串:0
我花了一段时间在 Google 上寻找答案,但是作为 Objective-C 的菜鸟,我不确定要搜索什么!所以,我真的很感激一个指向正确方向的指针!
谢谢, 灰
最佳答案
感谢大家的指点,我已经设法想出了一个解决方案:
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];
以上适用于我扔给它的测试用例,但如果有人知道更好的方法来做到这一点,我很想听听!
https://stackoverflow.com/questions/752817/