为什么 NSExpression 错误地评估了这个数学表达式?
Why is NSExpression incorrectly evaluating this math expression?
我有以下代码:
NSExpression *expression;
@try {
expression = [NSExpression expressionWithFormat:@"20/100*200"];
NSNumber *result = [expression expressionValueWithObject:nil context:nil];
}
@catch(NSException *exception){}
不知何故,我得到的结果是 0
的 NSNumber
,而不是 40
。我做错了什么?
它正在进行整数除法而不是浮点数除法。试试这个:
expression = [NSExpression expressionWithFormat:@"20.0/100*200"];
我有以下代码:
NSExpression *expression;
@try {
expression = [NSExpression expressionWithFormat:@"20/100*200"];
NSNumber *result = [expression expressionValueWithObject:nil context:nil];
}
@catch(NSException *exception){}
不知何故,我得到的结果是 0
的 NSNumber
,而不是 40
。我做错了什么?
它正在进行整数除法而不是浮点数除法。试试这个:
expression = [NSExpression expressionWithFormat:@"20.0/100*200"];