-1

我正在开发 ASP.NET 应用程序,我需要计算数学表达式,例如

16+25*(15.38-12.16)

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

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

有没有可能的方法呢?

4

2 回答 2

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
于 2013-05-09T11:57:21.063 回答
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());
        }
    }
}
于 2014-10-26T00:48:41.457 回答