Я хочу оценить математическое выражение, которое пользователь вводит в текстовое поле. Я сделал это до сих пор
string equation, finalString;
equation = textBox1.Text;
StringBuilder stringEvaluate = new StringBuilder(equation);
stringEvaluate.Replace("sin", "math.sin");
stringEvaluate.Replace("cos", "math.cos");
stringEvaluate.Replace("tan", "math.tan");
stringEvaluate.Replace("log", "math.log10");
stringEvaluate.Replace("e^", "math.exp");
finalString = stringEvaluate.ToString();
StringBuilder replaceI = new StringBuilder(finalString);
replaceI.Replace("x", "i");
double a;
for (int i = 0; i<5 ; i++)
{
a = double.Parse(finalStringI);
if(a<0)
break;
}
при запуске этой программы выдает ошибку "Input string was not in a correct format."
и выделяет a=double.Parse(finalStringI);
Я использовал предопределенное выражение a = i * math.log10 (i) -1.2, и оно работает, но когда я ввожу то же самое в текстовое поле, это не так.
Я провел некоторый поиск, и он нашел какое-то отношение к компиляции кода во время выполнения.
есть идеи как это сделать?
Я абсолютный новичок.
спасибо:)