let myInt = 4
let myFormulaInt = "5 + 4 + myInt * 5"
let intElements = ["myInt": myInt]
let myResultInt = NSExpression(format: myFormulaInt).expressionValueWithObject(intElements, context: nil).integerValue
println(myResultInt) // 29
let myDouble = 2.5
let myFormulaDouble = "5 + 4 + myDouble * 5"
let doubleElements = ["myDouble": myDouble]
let myResultDouble = NSExpression(format: myFormulaDouble).expressionValueWithObject(doubleElements, context: nil).doubleValue
println(myResultDouble) // 21.5
Xcode 8 GM ? Swift 3
let myInt = 4
let myFormulaInt = "5 + 4 + myInt * 5"
let intElements: [String:Int] = ["myInt": myInt]
let myResultInt = NSExpression(format: myFormulaInt).expressionValue(with: intElements, context: nil) as! Int
print(myResultInt) // 29
let myDouble = 2.5
let myFormulaDouble = "5 + 4 + myDouble * 5"
let doubleElements: [String: Double] = ["myDouble": myDouble]
let myResultDouble = NSExpression(format: myFormulaDouble).expressionValue(with: doubleElements, context: nil) as! Double
print(myResultDouble) // 21.5
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…