ASP.NET - 从文本框计算数学表达式

时间:2013-05-09 11:37:22

标签: asp.net math calculator

我正在开发ASP.NET应用程序,我需要计算像

这样的数学表达式
16+25*(15.38-12.16)

在文本框控件中输入,并在其他文本框或标签或任何地方获得结果。

我尝试了其中一些,但没有多少帮助https://stackoverflow.com/questions/tagged/equation+c%23

有可能这样做吗?

2 个答案:

答案 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());
        }
    }
}