快速版本:4.2
XCode:10.0
部署目标:11.0
我正在尝试使用NSExpression expressionValue进行一些相当简单的数学运算,但似乎非常不一致。这是一个示例:
let expressionResult1 = NSExpression(format: "(3.0 * 5.0)/(1.0 + 5.0)").expressionValue(with: nil, context: nil) as? Float
let expressionResult = NSExpression(format: "(3.0 + 0.95)/(1.0 + 5.0)").expressionValue(with: nil, context: nil) as? Float
顶行返回2.5
,而底行返回nil
。
为什么底线返回nil
?
另一个类似的例子:
let expressionResult = NSExpression(format: "((3.0 * 5.0) * 1.0)/(1.0 + 5.0)").expressionValue(with: nil, context: nil) as? Float
这将返回2.5