为什么NSExpression错误地评估了这个数学表达式?

时间:2015-10-08 01:26:49

标签: objective-c nsexpression

我有以下代码:

NSExpression *expression;

@try {
    expression = [NSExpression expressionWithFormat:@"20/100*200"];

    NSNumber *result = [expression expressionValueWithObject:nil context:nil];
}
@catch(NSException *exception){}

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

1 个答案:

答案 0 :(得分:2)

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

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