可能的重复: 在.NET中有字符串数学评估器吗? 使用C#将字符串表达式转换为整数值 数学表达式求值的最佳最短方法 (4+2)“产量int 18
是否有一种方法来计算像(2-3/4*12)这样的数学表达式?
http://www.c-sharpcorner.com/uploadfile/mgold/codedomcalculator08082005003253am/codedomcalculator.aspx
发布于 2010-05-18 16:24:56
DataTable有一个允许您编写以下内容的计算方法:
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");您也可以检查基于NCalc的GitHub库。
发布于 2010-05-18 16:39:34
有一些有趣的选择可供您选择。
发布于 2010-05-18 16:29:08
查看Fast(快速轻量级表达式评估器)- http://flee.codeplex.com/
Flee是.NET框架的表达式解析器和计算器。它允许您在运行时计算字符串表达式的值,例如sqrt(a^2 + b^2)。它使用自定义编译器、强类型表达式语言和轻量级编码元将表达式直接编译为IL。这意味着表达式评估是非常快速和有效的。尝试这个演示,它允许您根据表达式生成图像,然后自己查看。
它是免费和快速的,我已经在几个项目中使用了它。
https://stackoverflow.com/questions/2859111
复制相似问题