Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
764 views
in Technique[技术] by (71.8m points)

ios - Get Currency Symbol based on Country code or Country name using NSLocale

I want to display Currency Symbol based on Country name or country code using NSLocale I have all the country name list. suppose I have selected USA then it Return $ Currency

Code :

 NSLocale *locale = [NSLocale currentLocale];
 NSString *countryCode = [locale objectForKey: NSLocaleCountryCode];
 NSString *country = [locale displayNameForKey: NSLocaleCurrencyCode value: countryCode];
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Xcode 10 ? Swift 4.2 or later

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")

For older Swift syntax please check the post edit history


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...