【发布时间】:2012-10-22 12:35:42
【问题描述】:
我有一个应用程序需要以毫米为单位显示公制单位,根据我所做的研究(例如http://physics.nist.gov/cuu/pdf/sp811.pdf),建议您在有 5 位数字之前不要添加分组分隔符。 NSNumberFormatter 有可能吗?我知道我可以测试该值并根据其大小启用/禁用分组,但我宁愿为 NSNumberFormatter 使用适当的配置(如果存在)。 (顺便说一句,我在 Mac OS X 上)例如:
3456 应该显示为 3456 毫米
10234 应该显示为 10,234 毫米(假设逗号是分组分隔符)
我已阅读 Apple 文档,但没有看到任何内容。我尝试了不同的搜索以在 Stackoverflow 上找到答案,但找不到类似的问题。
这是我目前设置我的 NSNumberFormatter 的方式:
if (numberFormatter == nil) {
numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setRoundingMode:NSNumberFormatterRoundHalfUp];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setLocale:[NSLocale currentLocale]];
[numberFormatter setMinimumFractionDigits:0];
[numberFormatter setMaximumFractionDigits:2];
}
NSNumber *numberInMM = [NSNumber numberWithFloat:fLenInMMs];
NSString *numberStr = [numberFormatter stringFromNumber:numberInMM];
numberStr = [numberStr stringByAppendingString:@" mm"];
【问题讨论】:
标签: objective-c macos cocoa numbers nsnumberformatter