将Equation String转换为Int

时间:2015-09-17 07:45:19

标签: ios swift

我试图像这样转换字符串:

var equation = "8+3*4/5-1*(5+5)"

到一个Int,这样它就会按照操作顺序计算它,但是我的代码只返回nil。这是我试过的

var answer = Int(equation)

1 个答案:

答案 0 :(得分:5)

以这种方式尝试:

var equation = "\(8+3*4/5-1*(5+5))"  //"0"

通过这种方式,您可以将其转换为Int

var answer = equation.toInt()  // 0

或者您可以直接这样做:

var equation = 8+3*4/5-1*(5+5)   // 0

正如Martin R所说,如果你想在字符串中进行数学运算,你可以这样做:

let expn = NSExpression(format:"8+3*4/5-1*(5+5)")
println(expn.expressionValueWithObject(nil, context: nil))  //"0"

哪个会以String生成,但您可以按照我的建议将其转换为Int

以下是字符串中数学运算的原始链接:Swift - Resolving a math operation in a string