swift-使用货币符号和值分析字符串
发布时间:2022-09-08 03:35:09 347
相关标签: # react-native
我试图解析Excel文件中的输入字符串列表,该文件可以有“货币”值,并且可以是任何货币。例如。
- $200
- £300
- €200
- CA$300
解析货币符号和数值的最佳方法是什么?我正试着用一个NumberFormatter
但它不适用于“欧元”或“CAD”价值。
这是我的代码:
let currencyFormatter = NumberFormatter()
currencyFormatter.numberStyle = .currency
currencyFormatter.maximumFractionDigits = 2
let trimmedString = String(currencyString.filter { String($0).rangeOfCharacter(from: CharacterSet(charactersIn: "0123456789.,")) == nil }).trimmingCharacters(in: .whitespacesAndNewlines)
if trimmedString.count > 0 && Locale.current.currencySymbol != trimmedString {
// Currency symbol is *not* local currency, so lookup the locale for it
let allLocales = Locale.availableIdentifiers.map({Locale(identifier: $0)})
if let localeForSymbol = allLocales.filter({$0.currencySymbol == trimmedString}).first {
currencyFormatter.locale = localeForSymbol
}
}
if let numberValue = currencyFormatter.number(from: currencyString) {
print ("\(NSDecimalNumber(decimal: numberValue.decimalValue))")
}
我到底做错了什么?或者,如果不使用一些正则表达式,这是不可能的?
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报