You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin中如何将存储数字运算的字符串转为数值并得到计算结果

字符串表达式求和解决方案

方法一:纯加法场景直接分割求和

你的表达式只有加法运算符,最直接的方式是按+分割字符串,将每个部分转为Double后累加:

let string = "5+7+10"
// 按加号分割得到数字字符串数组
let numberStrs = string.components(separatedBy: "+")
// 转换为Double数组,自动过滤转换失败的元素
let numbers = numberStrs.compactMap { Double($0) }
// 累加求和
let total = numbers.reduce(0.0, +)
print(total) // 输出 22.0

这种方法无需单独处理运算符逻辑,简单高效,适合纯加法场景。

方法二:通用算术表达式解析(支持多运算符)

如果后续需要处理包含减、乘、除的复杂表达式,可使用NSExpression自动解析计算:

import Foundation

let string = "5+7+10"
if let expression = NSExpression(format: string),
   let result = expression.expressionValue(with: nil, context: nil) as? Double {
    print(result) // 输出 22.0
}

该方法会自动处理表达式内的运算符逻辑,无需手动拆分和计算,通用性更强。

内容的提问来源于stack exchange,提问作者PuzzleHead

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 22:55:18