C# 用户如何输入公式让程序理解?

C# 用户如何输入公式让程序理解?,c#,equation-solving,C#,Equation Solving,好的,所以我对c#在大计划方面是相当陌生的。我遇到了第一件我不能100%确定如何克服的事情。目前,我有一个程序,要求用户输入一个数字。如果用户输入的内容可以归类为double,则可以这样做。然而,我不确定如何处理分数和方程,即;(5*3)+12,我的代码看起来像 Console.Write("Enter an equation: "); double ans = Convert.ToDouble(Console.Readline()); Console.WriteLine("The answer

好的,所以我对c#在大计划方面是相当陌生的。我遇到了第一件我不能100%确定如何克服的事情。目前,我有一个程序,要求用户输入一个数字。如果用户输入的内容可以归类为double,则可以这样做。然而,我不确定如何处理分数和方程,即;(5*3)+12,我的代码看起来像

Console.Write("Enter an equation: ");
double ans = Convert.ToDouble(Console.Readline());
Console.WriteLine("The answer is " + ans)

这不是用int或double计算的,而且我知道给出的例子的答案是一个整数,但是我希望它被分类为double,这样当方程不干净时,我可以得到一个精确的答案。我该怎么做呢

在你的理解水平上,你最好只找到一个能算出数学方程式的库。像这样的解析公式没有内置的支持,否则你必须自己构建。这在c#中不是一件容易的任务。它不是一种能够以任何方式帮助您解析和处理输入字符串的语言。与各种脚本语言完全不同唯一简单的解决方案是让SQL为您做一些(有限的)工作。-一个合适的c#解析器是可能的,而且有很多,但是你很难理解它们是如何工作的。对于一个非常有限的表达式集,你可以自己做,但一旦你允许使用括号,事情就变得更难了。“没有内置的对解析这样的方程的支持”,这并不完全正确。我认为有一些重复的问题,我看到了用以计算方程的解。我想到的第一件事是反向波兰符号。12年前,我在一个webforms中实现了它,没有代码来生成有效的答案。呵呵,RPL也需要用户来输入;-)