我的程序中有很多String变量方程式。
“1 + 9 X 8”
“4 + 6”
“5/9 + 7”
“3 X 8”
所以,我想要做的是执行计算并给出结果。但是,我无法找到一种方法来读取操作符(“+ / X +”)并使其适合等式。希望我的问题很明确。
注意:我能够读取数字字符,这是简单的String to Int转换。但是,我很难将字符串的等效字符串(“X / + - ”)转换为其运算符。我怎样才能做到这一点 ?
如果无法做到这一点,有人可以建议解决方法。
答案 0 :(得分:2)
尝试这样的事情
var s = " 1 + 9 X 8"
s = s.replacingOccurrences(of: "X", with: "*")
let expn = NSExpression(format:s)
print("\(expn.expressionValue(with: nil, context: nil) ?? 0)")