Я не знаю много о DDMathParser
(ОК, я ничего об этом не знаю), но taking a look at the documentation дает некоторые подсказки о том, что происходит не так с вашим кодом.
Основываясь на документации, я не мог найти пример того, где DDMathParser
может обрабатывать symbolic выражения. Все примеры на странице использования показывают числовые выражения.
Для символической математики см. Symbolic Math Library in C/C++/Obj-C.
Кроме того, это похоже на , который вы пытаетесь решить для двух переменных с одним уравнением, что, безусловно, не приведет к численному решению.
Однако, если вы просто пытаетесь заменить значения для x
и y
, вы должны использовать $
знак перед ними, как documentation говорит:
Если вы не знаете, что значение а конкретный термин должен быть, когда строка построена, это нормально; просто использовать переменную:
NSString *math = @"6 * $a";
Так что, если вы просто хотите, чтобы заменить значения в этом выражении можно использовать:
string expression = @"(2+$x)6+2*$x+2*$y";
Затем заполнить значениями.
NSDictionary *s = @{@"x" : 42, @"y" : 43};
И оценить.
DDMathEvaluator *eval = [DDMathEvaluator sharedMathEvaluator];
NSLog(@"%@", [eval evaluateString:expression withSubstitutions:s]);
Какая ошибка или проблема вы получаете? –
Не сталкивается с какой-либо ошибкой, но получает 0 как «num», что не должно быть результатом. – Kuldeep
@Dave Delong вы можете помочь? – Kuldeep