Ребята, я работаю над системой, которая оценивает строковое математическое выражение.
мой класс для выполнения расчета
public Double Calculate(string argExpression)
{
//get the user passed string
string ExpressionToEvaluate = argExpression;
//pass string in the evaluation object declaration.
Expression z = new Expression(ExpressionToEvaluate);
//command to evaluate the value of the **************string expression
var result = z.Evaluate();
Double results = Convert.ToDouble(result.ToString());
return results;
}
И мои телефонные коды.
Double Finalstat = calculator.Calculate(UserQuery);
До сих пор мое выражение лица было таким
4 + 5 + 69 * (100*3)
Однако во время тестирования я обнаружил, что выражение также может быть искажено (поскольку оно создается пользователем). К таким вещам, как
45+99abs - 778anv
Поэтому я хотел знать, есть ли способ проверить построенное пользователем (выражение) перед отправкой его для оценки в классе?
string ExpressionToEvaluate = argExpression;
, просто сделайтеExpression z = new Expression(argExpression);
- person dav_i   schedule 06.12.2013