Swift3 如何阻止N表达式舍入
我一直在用Swift 3制作计算器,但遇到了一些问题 我一直在使用NSExpression计算用户方程,但答案总是四舍五入 为了检查答案是否四舍五入,我计算了3/2Swift3 如何阻止N表达式舍入,swift3,nsexpression,Swift3,Nsexpression,我一直在用Swift 3制作计算器,但遇到了一些问题 我一直在使用NSExpression计算用户方程,但答案总是四舍五入 为了检查答案是否四舍五入,我计算了3/2 let expression = NSExpression(format: "3 / 2"); let answer: Double = expression.expressionValue(with: nil, context: nil) as! Double; Swift.print(String(answer)); 上述代码
let expression = NSExpression(format: "3 / 2");
let answer: Double = expression.expressionValue(with: nil, context: nil) as! Double;
Swift.print(String(answer));
上述代码输出的是1.0,而不是1.5
let expression = NSExpression(format: "3 / 2");
let answer: Double = expression.expressionValue(with: nil, context: nil) as! Double;
Swift.print(String(answer));
有人知道如何阻止N表达式舍入吗?谢谢。表达式使用整数除法,因为您的操作数是整数。请尝试以下方法:
let expression = NSExpression(format: "3.0 / 2.0");
let answer: Double = expression.expressionValue(with: nil, context: nil) as! Double;
Swift.print(String(answer));
考虑以下代码:
let answer = Double(3 / 2)
answer
在这种情况下仍然是1.0
,因为3/2
在插入Double
初始值设定项之前被计算为1
但是,此代码将给出答案值1.5
:
let answer = Double(3.0 / 2.0)
这是因为3.0/2.0
将根据Double
的除法运算而不是Integer
的除法运算进行计算,谢谢您的帮助