可可触摸显示屏 多种货币

发布于 2024-10-15 07:50:56 字数 529 浏览 3 评论 0原文

我正在使用 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]];

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

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

I am using Cocoa Touch to develop an iPhone App.

I am storing currency amounts in a table along with associated Currency Codes From the ISO 4217 Currency Code List :

for example : 123.45 GBP, 456.45 USD, 321.98 AUD etc.

When I am displaying these values I want them to be formatted using the correct Currency Symbol : £ 123.45, $ 456.45, $ 321.98.

For displaying amounts in the current locale I am using

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

I want to be able to set up a locale from the Currency Codes to display the correct Currency Symbol.

Is there any way to set up a locale given the Currency Code ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼眸印温柔 2024-10-22 07:50:56

使用当前区域设置总是更好,因为它是用户可配置的。相反,只需设置货币代码:

[numFormatter setCurrencyCode: theIOSCurrencyCode];

It is always better to use the current locale since it's user-configurable. Instead, just set the currency code:

[numFormatter setCurrencyCode: theIOSCurrencyCode];
好久不见√ 2024-10-22 07:50:56

编辑:修复了拼写错误

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

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

Edit: fixed a typo

If you really want to change the locale you could store the locale identifiers instead of currency codes in your table and access the data as follows:

locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[numFormatter setLocale: locale];
[locale release];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文