有没有一种方法可以以不同于此处介绍的方式计算(2-3 / 4 * 12)之类的数学表达式?http://www.c-sharpcorner.com/uploadfile/mgold/codedomcalculator08082005003253am/codedomcalculator.aspx
3 回答
汪汪一只猫
TA贡献1898条经验 获得超8个赞
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库。
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
查看FLEE(快速轻量表达计算器)-http: //flee.codeplex.com/
Flee是.NET框架的表达式解析器和评估器。它允许您在运行时计算诸如sqrt(a ^ 2 + b ^ 2)之类的字符串表达式的值。它使用自定义编译器,强类型表达式语言和轻量级代码生成器将表达式直接编译为IL。这意味着表达评估非常快速和有效。试用该演示,该演示使您可以基于表达式生成图像并亲自查看。
它是免费且快速的,我已经在几个项目中使用了它。
- 3 回答
- 0 关注
- 610 浏览
添加回答
举报
0/150
提交
取消