2015-10-08 3 views
0

У меня есть следующий код:Почему NSExpression неправильно оценивает это математическое выражение?

NSExpression *expression; 

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

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

Так или иначе, результат я получаю обратно является NSNumber из 0, вместо 40. Что я делаю не так?

ответ

2

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

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

Спасибо, ты прав! – mattsven

Смежные вопросы