4

我无法理解 iOS 中的数字格式化程序。我在 iPhone 模拟器中设置了语言环境,但屏幕上的小数点分隔符始终是“。” 但应该是“,”。我不想设置小数点分隔符来修复它。它应该由系统根据区域设置进行调整。到目前为止,我找到的所有答案都没有真正回答我的问题。在 osx 中,可以选择本地化所有数字输出。iOS中是否需要额外的特殊代码?

4

1 回答 1

2

我自己发现了我的问题。我需要专门定义标签或文本字段中 NSNumbers 输出的本地化。它不是由系统自动完成的。使用“NSNumberFormatter”进行本地化,输出可能如下所示:

formatter = [[NSNumberFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
cell.yourLabel.text = [NSString StringWithFormat:@"%@", [formatter stringForObjectValue:yourString]];

另一种选择是使用“localizedStringWithFormat”方法:

NSNumber *yourNumber = [nf numberFromString:yourString];
//to create the formatted NSNumber object
NSString *yourString = [NSString localizedStringWithFormat:@"%.2F", yourNumber];
于 2013-06-24T10:49:07.380 回答