Почему 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"];