Почему NSExpression неправильно оценивает это математическое выражение?

У меня есть следующий код:

NSExpression *expression;

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

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

Почему-то результат, который я получаю, NSNumber из 0, вместо 40, Что я делаю неправильно?

1 ответ

Решение

Делается целочисленное деление вместо числа с плавающей точкой. Попробуй это:

expression = [NSExpression expressionWithFormat:@"20.0/100*200"];
Другие вопросы по тегам