将String转换为operator - swift

时间:2018-01-17 08:22:07

标签: ios iphone swift

我的程序中有很多String变量方程式。

“1 + 9 X 8”

“4 + 6”

“5/9 + 7”

“3 X 8”

所以,我想要做的是执行计算并给出结果。但是,我无法找到一种方法来读取操作符(“+ / X +”)并使其适合等式。希望我的问题很明确。

注意:我能够读取数字字符,这是简单的String to Int转换。但是,我很难将字符串的等效字符串(“X / + - ”)转换为其运算符。我怎样才能做到这一点 ?

如果无法做到这一点,有人可以建议解决方法。

1 个答案:

答案 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)")