計算數學表達式我正在開發ASP.NET應用程序,我需要計算像ASP.NET - 從文本框
16+25*(15.38-12.16)
其在文本框控件中輸入並獲得導致其他文本
數學表達式盒子或標籤或任何地方。
我嘗試了一些這些,但幫助不大https://stackoverflow.com/questions/tagged/equation+c%23
有可能的方式做到這一點?
計算數學表達式我正在開發ASP.NET應用程序,我需要計算像ASP.NET - 從文本框
16+25*(15.38-12.16)
其在文本框控件中輸入並獲得導致其他文本
數學表達式盒子或標籤或任何地方。
我嘗試了一些這些,但幫助不大https://stackoverflow.com/questions/tagged/equation+c%23
有可能的方式做到這一點?
您可能可以使用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
感謝菲爾,你的回答做到了! – uzair 2013-05-10 07:30:21
你可以使用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());
}
}
}
當然有一種可能的方法來做到這一點。你做了什麼?你在哪裏遇到問題?你在尋找什麼幫助或者你在找人幫你做? – jason 2013-05-09 11:51:28