如何在 ios Swift 5 中使用多个欧元值总数组 Like ["£179.95", "£199.95", "£89.95"]

How To multiple Euro values total arrays in ios Swift 5 Like ["£179.95", "£199.95", "£89.95"]

array = ["£179.95", "£199.95", "£89.95"]

如何将此值相加得到 ios 中的总值 swift 4.

请帮帮我

如果您确定数组中包含的字符串始终以 £ 开头,您可以这样做:

let sum = array.compactMap { Double([=10=].replacingOccurrences(of: "£", with: "")) }
               .reduce(0.0, { [=10=] +  })

示例:

let array = ["£179.95", "£199.95", "£89.95"]
let sum = array.compactMap { Double([=11=].replacingOccurrences(of: "£", with: "")) }
               .reduce(0.0, { [=11=] +  })
print(sum) // 469.84999999999997

您可以通过使用 NumberFormatter

来获得灵活的解决方案
var formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.locale = Locale(identifier: "en_US_POSIX")

然后通过设置适当的货币代码计算总和

formatter.currencyCode = "GBP"
let sum = array.compactMap { formatter.number(from: [=11=])?.doubleValue}.reduce(0.0, +)

所以只需根据需要更改 currencyCode 属性 或使用 currencySymbol 属性 代替

let euroValues = ["€10.4", "€5.67"]
formatter.currencySymbol = "€"
let euroSum = euroValues.compactMap { formatter.number(from: [=12=])?.doubleValue}.reduce(0.0, +)