【发布时间】:2017-06-28 07:31:39
【问题描述】:
我正在尝试将数字从美国格式转换为欧洲格式。
输入:34.24 输出:34,24
我尝试使用 NSNumberFormatter 但没有工作。有什么办法吗?
NSString *dd = [NSString stringWithFormat:@"%0.2f",amountDouble];
NSNumberFormatter *formatString = [[NSNumberFormatter alloc] init];
[formatString setNumberStyle:NSNumberFormatterCurrencyStyle];
formatString.locale = Locale.currentLocale; //europe locale
NSNumber *reqNumber = [formatString numberFromString:dd]; // returns nil
【问题讨论】:
-
该解决方案并没有完全解决我的问题。硬编码分隔符并不能确保基于 iPhone 区域设置的正确分隔符行为。我只想在欧洲语言环境中转换它,否则它不应该转换。输入:34.24 美国语言环境输出:34.24 和欧洲语言环境输出:34,24
-
所以您只想在语言环境是欧洲时才更改它?在这种情况下,只需将当前语言环境测试为欧洲语言环境,如果为真,则按照其他问题中的方式应用转换
标签: ios objective-c nsnumberformatter