我用Google搜索并且空白了 - 所以是时候再次测试那些好人了! :)
有人可以推荐一个解析和计算数学表达式的开源库(pref for .NET)吗?
e.g。输入表达式= "2+(n-1)*4"
,参数键/值n=2
,输出= 6
。
答案 0 :(得分:7)
我会看看NCalc。以下是该项目的描述:
NCalc是.NET中的数学表达式计算器。 NCalc可以解析任何表达式并评估结果,包括静态或动态参数和自定义函数。有关我们用于创建此框架的技术的其他信息,请阅读以下文章:http://www.codeproject.com/KB/recipes/sota_expression_evaluator.aspx
如果这对于您的目的而言太复杂,您可以查看C#的任何“解析器生成器”。这些工具允许您指定表达式的语法并生成将解析它的代码。为numerica表达式编写解析器应该非常简单。参见例如
答案 1 :(得分:1)
好吧,我过去曾使用IronPython。这实际上是一个非常强大的路径,因为您可以向表达式公开API。
最重要的是,我相信Irony解析器生成器有一个数学表达式示例解析器。 (如果他们不这样做,那么创造它将是微不足道的。)
Google上也有很多结果:
NCalc
.NET Math Expression Parser
Mathematical Expression Parser for .NET
仅举几例。