在 swift 中获取本地货币

Get local currency in swift

我正在为多个国家建立一个小的应用内购买商店。我怎么知道我必须以美元、欧元等显示价格... 我认为这与 localeIdentifier 有关,但我不确定如何处理这个

您可以使用

(NS)Locale获取货币符号和代码

Swift 1 和 2

let locale = NSLocale.currentLocale()
let currencySymbol = locale.objectForKey(NSLocaleCurrencySymbol)!
let currencyCode = locale.objectForKey(NSLocaleCurrencyCode)!

Swift 3

let locale = Locale.current()
let currencySymbol = locale.object(forKey: .currencySymbol)!
let currencyCode = locale.object(forKey: .currencyCode)!

Swift 3.1+

let locale = Locale.current
let currencySymbol = locale.currencySymbol!
let currencyCode = locale.currencyCode!

这与用户区域格式设置相关,并且适用于 iOSmacOS

对于 swift3

//User region setting return
let locale = Locale.current //NSLocale.current

//Returns true if the locale uses the metric system (Note: Only three countries do not use the metric system: the US, Liberia and Myanmar.)
let isMetric = locale.usesMetricSystem

//Returns the currency code of the locale. For example, for “zh-Hant-HK”, returns “HKD”.  
let currencyCode  = locale.currencyCode

//Returns the currency symbol of the locale. For example, for “zh-Hant-HK”, returns “HK$”.
let currencySymbol = locale.currencySymbol