2013-06-03 27 views
3

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

+0

显示您正在使用格式化数字的代码。 – rmaddy

+0

你好Maddy,我是一个初学者,这只是一个普遍的问题。在此期间我使用'localizedStringWithFormat'找到了一个解决方案。还是要谢谢你的帮助。 – JFS

回答

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]; 
相关问题