Swift - 将字符串转换为表达式

时间:2015-09-30 16:42:06

标签: string expression

我正在开发一个应用程序,其中简单的数学表达式作为字符串传递(例如“2 + 3”)。我需要执行这些表达式以确保它们等于目标。

在Mathematica / Wolfram语言中,可以使用简单的命令ToExpression []将字符串转换为表达式。 Swift中有什么相同的东西吗?如果没有,怎么可能将字符串转换为可行的数学?

1 个答案:

答案 0 :(得分:2)

使用[NSExpression][1],就像这样...

let expression = NSExpression(format:"2+3")
if let result = expression.expressionValueWithObject(nil, context: nil) as? NSNumber {
  print(result)
} else {
  print("error evaluating expression")
}

使用NSExpression(包括Swift示例)是一个很好的blog post from NSHipster