一尘不染

将字符串转换为Int并将逗号替换为加号

swift

使用Swift,我试图获取应用程序文本视图中输入的数字列表,并通过为成绩计算器提取每个数字来创建此列表的总和。而且,用户输入的值量每次都会更改。一个例子如下所示:

字符串:98,99,97,96 …试图获取:98 + 99 + 97 + 96 …

请帮忙!谢谢


阅读 286

收藏
2020-07-07

共1个答案

一尘不染

  1. 使用components(separatedBy:)打破了逗号分隔的字符串。
  2. 使用trimmingCharacters(in:)前,每一个元素后删除空格
  3. 使用Int()每个元素转换为整数。
  4. 使用compactMap(以前称为flatMap)删除所有无法转换为的项目Int
  5. 使用reduce总结的阵列Int
        let input = " 98 ,99 , 97, 96 "

    let values = input.components(separatedBy: ",").compactMap { Int($0.trimmingCharacters(in: .whitespaces)) }
    let sum = values.reduce(0, +)
    print(sum)  // 390
2020-07-07