我正在开发ASP.NET应用程序,我需要计算像
这样的数学表达式16+25*(15.38-12.16)
在文本框控件中输入,并在其他文本框或标签或任何地方获得结果。
我尝试了其中一些,但没有多少帮助https://stackoverflow.com/questions/tagged/equation+c%23
有可能这样做吗?
答案 0 :(得分: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
答案 1 :(得分: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());
}
}
}