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

前端 未结 4 686
野性不改
野性不改 2020-12-16 08:11

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

4条回答
  •  清歌不尽
    2020-12-16 09:13

    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

提交回复
热议问题