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

标签 cocoa cocoa-touch localization locale currency

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

目前,我根据支持的字符串列表测试 NSNumberFormatter 的货币代码:美元、欧元等。如果查找不成功,我将货币代码设置为 @"USD"那么事情似乎可以正常工作,但数字格式采用本地样式,正如人们所期望的那样,(50.000,30 美元)与(50,000.35 美元)相比。这够了吗?我还应该设置和跟踪区域设置吗?

关于 Cocoa 中的 currencyCodes 和/或使用 Locales 有什么好的技巧或教程吗?其他人如何处理这样的情况?

最佳答案

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

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

关于cocoa - Cocoa(Touch) 支持有限数量的货币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1569691/

相关文章:

objective-c - 按对象值对NSMutableArray排序

iphone - 获取数组中对象的索引以在其他数组中查找对应的对象

java - 单例是否适合管理语言环境/本地化/国际化?

ruby - 从 OS X 应用程序运行 ruby​​ 脚本

cocoa-touch - 如何防止 NSPropertyListSerialization 崩溃?

ios - 如何设置 NavigationItem/NavigationBar 的标题

ios - 使用 x-apple-reminder ://to launch the Reminders app in iOS

ios - SWIFT:更新现有的核心数据对象

asp.net - 如何在 ASP.NET 中提供 resx 文件?

android - 在使用产品 flavor 时,每种 flavor 中哪些文件是常见的,哪些文件是该 flavor 所特有的?