将字符串数组转换为Double,然后在Swift中计算总和

Ste*_*nzo -3 arrays parse-platform swift

我有一个要转换为Double的字符串数组。然后我想将数组中的每个项目加在一起并得到总和。

在此处输入图片说明

到目前为止,这是我的代码。在枚举数组之后,将所有这些元素加在一起遇到了问题。

在此处输入图片说明

Leo*_*bus 7

更新:Xcode 10.1•Swift 4.2.1或更高版本

let strings = ["1.9","2.7","3.1","4.5","5.0"]
let doubles = strings.compactMap(Double.init)
let sum = doubles.reduce(0, +)

print(sum) // 17.2
Run Code Online (Sandbox Code Playgroud)

Xcode 7.1.1•Swift 2.1

您可以使用Double(string :)初始化程序:

let stringArray = ["1.9","2.7","3.1","4.5","5.0"]
let doubleArray = stringArray.flatMap(Double.init) 
let arraySum = doubleArray.reduce(0, combine: +)

print(arraySum) // 17.2
Run Code Online (Sandbox Code Playgroud)

斯威夫特1.x

您可以使用map方法将您的元素转换为NSString并访问其doubleValue属性,并将其与reduce方法组合以对所得的double数组求和,如下所示:

let stringArray = ["1.9","2.7","3.1","4.5","5.0"]
let doubleArray = stringArray.map{ NSString(string: $0).doubleValue }
let arraySum = doubleArray.reduce(0, combine: +)

println(arraySum) // 17.2
Run Code Online (Sandbox Code Playgroud)

  • 仅代码的答案不是很有帮助。请附上一些说明! (2认同)