如何在iOS中确保本地小数点分隔符

时间:2013-06-03 17:10:09

标签: ios localization nsnumberformatter

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

1 个答案:

答案 0 :(得分:2)

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

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

另一个选择是使用'lococalizedStringWithFormat'方法:

NSNumber *yourNumber = [nf numberFromString:yourString];
//to create the formatted NSNumber object
NSString *yourString = [NSString localizedStringWithFormat:@"%.2F", yourNumber];