可能重复:
动态计算字符串表达式的结果
我将以下公式保存在 XML 中作为元素值-“d1 * 2”。
在我从 XML 中将其提取为字符串后,如何为“d1”赋值
并计算公式结果?
可能重复:
动态计算字符串表达式的结果
我将以下公式保存在 XML 中作为元素值-“d1 * 2”。
在我从 XML 中将其提取为字符串后,如何为“d1”赋值
并计算公式结果?
这看起来正是您正在寻找的:
https://github.com/Giorgi/Math-Expression-Evaluator
作者对这里的用法和设计做了非常好的和彻底的记录:
用法如下(从示例中复制):
var a = 6;
var b = 4.32m;
var c = 24.15m;
var result = engine.Evaluate("(((9-a/2)*2-b)/2-a-1)/(2+c/(2+4))", new { a, b, c});
当然,谷歌是你的朋友……还有很多其他的,但到目前为止,这看起来是最成熟的项目。
编辑:这个其他 SO 答案也提到了 NCalc,这是类似的:https ://stackoverflow.com/a/10063089/381587