在Cocoa支持有限数量的货币(Touch)

时间:2009-10-15 00:24:53

标签: cocoa cocoa-touch localization locale currency

我们的应用程序的早期版本仅支持有限数量的货币。如果用户应该尝试使用不受支持的currencyCode我们的应用程序,那么我想将currencyCode设置为支持的。我对自己在NSNumberFormatters,currencyCodes,NSLocales等之间蹦蹦跳跳感到困惑......

目前我根据支持的字符串列表测试NSNumberFormatter的currencyCode:USD,EUR等。如果查找不成功,我将currencyCode设置为@“USD”然后事情似乎有效,但数字格式为本地样式,正如人们所料,(50.000,30美元)对比($ 50,000.35)。这够了吗?我是否还应该设置和跟踪区域设置?

currencyCodes 和/或在Cocoa中使用区域设置的任何好的提示或教程?其他人如何处理这样的情况?

1 个答案:

答案 0 :(得分:1)

NSNumberFormatter具有 currencySymbol internationalCurrencySymbol 属性。通常这些是由货币代码和区域设置定义的,但您可以根据需要明确设置它们。例如,如果您不希望在非美国语言环境中看到“US $”,则可以将 internationalCurrencySymbol 设置为“$”。

货币编号格式由区域设置定义。例如,法语数字格式为“50.000 $”而英语为“$ 50,000”。如果您总是想使用英文数字格式,您可以将数字格式化程序的语言环境明确设置为“EN”。