Как преобразовать строковое уравнение C# в ответ

Я создаю приложение WP8, которое решает задачи численного анализа. Для одного шага мне нужно разобрать введенную функцию, но у меня нет никаких знаний о разборе, и я попробовал что-то еще

У меня есть стековая панель с математическими компонентами (Sin(x),Cos(x),Tan(x),+,-,*...)

когда пользователь нажимает на любой компонент

Например, сначала Sin (x), затем +, а затем Cos (x)

string yazılıdenklem =""; int xdegeri=Convert.ToInt32(Xtxt.Text);

private void Sin_Tapped(object sender, TappedRoutedEventArgs e)
    {

        yazılıdenklem=yazılıdenklem+"Math.Sin("+xdegeri.ToString()+")";

    }

 private void artı_Tapped(object sender, TappedRoutedEventArgs e)
    {

        yazılıdenklem = yazılıdenklem + "+";
    }
 private void Cos_Tapped(object sender, TappedRoutedEventArgs e)
    {

        yazılıdenklem = yazılıdenklem + "Math.Cos(" + xdegeri.ToString() + ")";
    }

Конец выбора У меня есть строковое уравнение типа: "Math.Sin(3)+Math.Cos(3)" Могу ли я преобразовать это уравнение в любую числовую форму? Могу ли я получить какой-либо результат из этой строки экв.? Спасибо

1 ответ

Решение

bcParser.NET - это безопасная функция eval() для оценки математических формул. bcParser.NET - это математическая библиотека синтаксического анализатора для платформы.NET. bcParser.NET анализирует и оценивает математические выражения, заданные в виде строк во время выполнения.

MathParser.SetExpression("sin(3)+cos(3)");
double value = MathParser.getValueAsDouble();
Другие вопросы по тегам