2010-10-11 182 views
1

海所有,将字符串转换公式,数学公式在C#

我在做C#.NET应用程序,计算不同的公式,并给结果的用户,用户可以输入任何公式,每个公式的值存储在数据库中这样。

alt text

保存这样以后我要计算result.When计算结果,应用要求值variables。但我怎么可以用这个值来计算。 请帮助检索数据库中的每个值并计算结果。

+0

这功课? – 2010-10-11 07:23:29

+0

您需要添加更多关于如何描述公式的详细信息,如何定义运算符优先级(括号)?上面例子的结果应该是什么? – 2010-10-11 07:24:10

+0

@Albin Sunnanbo:问题在于没有定义优先级(括号)。只保存值是可变的/常量和运算符。请看上传的图像。 – 2010-10-11 07:29:19

回答

4

您可以使用Shunting-yard算法将表达式转换为后缀符号或直接转换为ast。看到这个答案很好的解释:Equation (expression) parser with precedence

+1

+1:您可能需要添加以下有用链接:http://en.wikipedia.org/wiki/Shunting-yard_algorithm和http://en.wikipedia.org/wiki/Postfix_notation – 2010-10-11 08:18:56