I have a currency code (for example: "UAH"). In my code, I get a currency symbol equal to the currency code ("UAH"), but for "USD" and "EUR" - "$" and "€". Why?
let currencyCode = "UAH"
let localeComponents = [NSLocaleCurrencyCode: currencyCode]
let localeIdentifier = NSLocale.localeIdentifierFromComponents(localeComponents)
let locale = NSLocale(localeIdentifier: localeIdentifier)
let currencySymbol = locale.objectForKey(NSLocaleCurrencySymbol)
I found a solution:
let locales: NSArray = NSLocale.availableLocaleIdentifiers()
for localeID in locales as! [NSString] {
let locale = NSLocale(localeIdentifier: localeID as String)
let code = locale.objectForKey(NSLocaleCurrencyCode) as? String
if code == "UAH" {
let symbol = locale.objectForKey(NSLocaleCurrencySymbol) as? String
print(symbol!)
break
}
}
source
share