Изменение строки на основе содержимого строки; (NSExpression десятичная проблема). Xcode - PullRequest
0 голосов
/ 16 марта 2012

Я использую функцию NSExpression для вычисления строк как числового уравнения.

Одна проблема, с которой я столкнулся, это; если у вас есть операция деления "/" в строке, которую вы вычисляете, NSExpression не преобразует ответ в число с плавающей запятой (double), если не указано десятичное значение.

Ex. (1,0 / 2) = 0,5

Но (1/2) = 0

Интересно, есть ли простое решение этой проблемы или мне нужно было бы написать цикл, который вставляет ".0", когда он обнаруживает деление без других десятичных дробей.

Я пытался создать подобный цикл с небольшим успехом, поэтому, если есть лучшее решение или у кого-то есть структура цикла для решения этой проблемы, это будет с благодарностью.

Спасибо, С уважением.

Ответы [ 2 ]

2 голосов
/ 16 марта 2012

Рассматривали ли вы DDMathParser ?Судя по тому, что я нашел, это делает для вас большую работу ...

0 голосов
/ 16 марта 2012

Как насчет того, если вы обнаружите присутствие косой черты, произнесите ваше выражение так:

myExpressionStr = [[@"(double)(" stringByAppendingString:myExpressionStr] stringByAppendingString:@")"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...