字符串转换为Int并将逗号替换为加号
问题描述:
使用Swift,我试图在应用程序的文本视图中输入一个数字列表,并通过提取成绩计算器的每个数字来创建此列表的总和。此外,用户输入的值的数量也会发生变化。示例如下所示:
Using Swift, I'm trying to take a list of numbers input in a text view in an app and create a sum of this list by extracting each number for a grade calculator. Also the amount of values put in by the user changes each time. An example is shown below:
字符串:98,99,97,96 ...
试图得到:98 + 99 + 97 + 96。 ..
String of: 98,99,97,96... Trying to get: 98+99+97+96...
请帮忙!
谢谢
Please Help! Thanks
答
- 使用
组件(separatedBy:)
分解以逗号分隔的字符串。 - 使用
trimmingCharacters(in:)
删除之前的空格在每个元素之后 - 使用
Int()
将每个元素转换为整数。 - 使用
flatMap
删除任何无法转换为Int
的项目。 -
使用
reduce
来总结Int
的数组。
- Use
components(separatedBy:)
to break up the comma-separated string. - Use
trimmingCharacters(in:)
to remove spaces before and after each element - Use
Int()
to convert each element into an integer. - Use
flatMap
to remove any items that couldn't be converted toInt
. Use
reduce
to sum up the array ofInt
.
let input = " 98 ,99 , 97, 96 "
let values = input.components(separatedBy: ",").flatMap { Int($0.trimmingCharacters(in: .whitespaces)) }
let sum = values.reduce(0, +)
print(sum) // 390