Pal*_*ndo 6 cocoa objective-c nsnumberformatter
我NSNumberFormatter用来将浮点值格式化为整数字符串,即省略小数部分.我觉得很奇怪,范围(-0.5, 0) *开放区间的数字最终为-0.由于该值将显示给用户,我认为负零不合适.我已经尝试了各种组合numberStyle和roundingMode没有成功.
有没有办法配置NSNumberFormatter输出它们0,还是我必须求助于该范围的手动校正?
我必须自己纠正这个问题。我使用 NSNumberFormatter 显示温度,默认numberStyle\xe2\x80\x94NSNumberFormatterNoStyle将数字四舍五入为整个整数,roundingMode设置为NSNumberFormatterRoundHalfUp。最后我确实截取了有问题范围内的值并自行舍入:
- (NSString *)temperature:(NSNumber *)temperature\n{\n float f = [temperature floatValue];\n if (f < 0 && f > -0.5)\n temperature = [NSNumber numberWithLong:lround(f)];\n\n return [self.temperatureFormatter stringFromNumber:temperature];\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
1379 次 |
| 最近记录: |