2013-05-09 45 views
-1

計算數學表達式我正在開發ASP.NET應用程序,我需要計算像ASP.NET - 從文本框

16+25*(15.38-12.16) 
其在文本框控件中輸入並獲得導致其他文本

數學表達式盒子或標籤或任何地方。

我嘗試了一些這些,但幫助不大https://stackoverflow.com/questions/tagged/equation+c%23

有可能的方式做到這一點?

+0

當然有一種可能的方法來做到這一點。你做了什麼?你在哪裏遇到問題?你在尋找什麼幫助或者你在找人幫你做? – jason 2013-05-09 11:51:28

回答

3

您可能可以使用DataTable.Compute(),但它只能處理簡單的方程式。 這應該工作:

C#

private double CalcEquation(string equation) 
{ 
    DataTable tempTable = new DataTable(); 

    var result = tempTable.Compute(equation, ""); 
} 

VB.Net

Private Sub CalcEquation(ByVal equation As String) 

    Dim tempTable As New DataTable() 

    Dim result As Object = tempTable.Compute(equation, "") 

End Sub 
+0

感謝菲爾,你的回答做到了! – uzair 2013-05-10 07:30:21

1

你可以使用NCalc庫。它可以處理更復雜的功能。

using System; 
using NCalc; 
namespace NCalcExample 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string evalString = "sin(2.0)+3"; 
      Expression e = new Expression(evalString, EvaluateOptions.IgnoreCase); 
      Console.WriteLine(e.Evaluate()); 
     } 
    } 
}