Cocoa Touch显示多种货币

时间:2011-02-01 19:03:44

标签: iphone cocoa touch currency nslocale

我正在使用Cocoa Touch开发iPhone应用程序。

我在表格中存储货币金额以及相关的货币代码来自ISO 4217货币代码清单:

例如:123.45 GBP,456.45 USD,321.98 AUD等。

当我显示这些值时,我希望使用正确的货币符号格式化它们:£123.45,$ 456.45,$ 321.98。

用于显示我正在使用的当前区域设置中的金额

NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc] init];                         
[numFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numFormatter setLocale: [NSLocale currentLocale]];

我希望能够从货币代码设置区域设置以显示正确的货币符号。

根据货币代码,有没有办法设置区域设置?

2 个答案:

答案 0 :(得分:0)

最好使用当前的语言环境,因为它是用户可配置的。相反,只需设置货币代码:

[numFormatter setCurrencyCode: theIOSCurrencyCode];

答案 1 :(得分:0)

编辑:修正了一个拼写错误

如果您确实想要更改区域设置,则可以在表格中存储区域设置标识符而不是货币代码,并按如下方式访问数据:

locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[numFormatter setLocale: locale];
[locale release];