我想使用 NSLocale 根据国家/地区名称或国家/地区代码显示货币符号我有所有国家/地区名称列表。假设我选择了美国,那么它返回$货币
代码:
NSLocale *locale = [NSLocale currentLocale];
NSString *countryCode = [locale objectForKey: NSLocaleCountryCode];
NSString *country = [locale displayNameForKey: NSLocaleCurrencyCode value: countryCode];
最佳答案
Xcode 10 • Swift 4.2 或更高版本
extension Locale {
static let currency: [String: (code: String?, symbol: String?, name: String?)] = isoRegionCodes.reduce(into: [:]) {
let locale = Locale(identifier: identifier(fromComponents: [NSLocale.Key.countryCode.rawValue: $1]))
$0[$1] = (locale.currencyCode, locale.currencySymbol, locale.localizedString(forCurrencyCode: locale.currencyCode ?? ""))
}
}
<小时/>
Locale.currency["US"] // (code "USD", symbol "$", name "US Dollar")
Locale.currency["BR"] // (code "BRL", symbol "R$", name "Brazilian Real")
Locale.currency["GB"] // (code "GBP", symbol "£", name "British Pound")
Locale.currency["PT"] // (code "EUR", symbol "€", name "Euro")
<小时/>
对于较旧的 Swift 语法,请检查帖子编辑历史记录
关于ios - 使用 NSLocale 根据国家/地区代码或国家/地区名称获取货币符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40270754/