这个问题已经在这里有了答案 :
9年前关闭。
可能的重复项: .NET中是否有字符串数学评估器? 使用C#将字符串表达式转换为整数值的 最佳和最短的评估数学表达式的方法 c#评估字符串“ 3 *(4 + 2)”的结果为int 18
可能的重复项: .NET中是否有字符串数学评估器?
使用C#将字符串表达式转换为整数值的 最佳和最短的评估数学表达式的方法 c#评估字符串“ 3 *(4 + 2)”的结果为int 18
有没有一种方法可以以不同于此处介绍的方式计算(2-3 / 4 * 12)之类的数学表达式?
http://www.c-sharpcorner.com/uploadfile/mgold/codedomcalculator08082005003253am/codedomcalculator.aspx
DataTable有一个Compute方法,可让您编写以下代码:
var result = new DataTable().Compute("2-3/4*12", null);
请注意,这仅限于简单的数学表达式。
其他选择包括在DLR中使用动态语言,例如IronPython和IronRuby。查看此帖子:
var engine = new IronPython.Hosting.PythonEngine(); double result = pythonEngine.EvaluateAs<double>("2-3/4*12");
您也可以在GitHub上检查NCalc库。