为什么 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){}

不知何故,我得到的结果是 0NSNumber,而不是 40。我做错了什么?

它正在进行整数除法而不是浮点数除法。试试这个:

expression = [NSExpression expressionWithFormat:@"20.0/100*200"];