我试图像这样转换字符串:
var equation = "8+3*4/5-1*(5+5)"
到一个Int,这样它就会按照操作顺序计算它,但是我的代码只返回nil。这是我试过的
var answer = Int(equation)
答案 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