2010-10-11 178 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