2012-02-24 81 views
21

好的,我想要做的就是使用一个字符串作为输入(例如“16 * 12 + 25”),将其转换为计算机可以理解并返回评估的数学评估值。我可以自己写这篇文章,但这很可能需要一段时间,最后它还是不会达到我想要的那么好,除非我想再投入更多时间。将字符串转换为数学评估

所以我的问题是,是否有任何脚本,库或API,你知道可以为C++做到这一点?我发现了一些适用于java,python和.NET的。但是我没有使用任何这些语言,我希望尽可能长时间地保持在C++中(希望贯穿整个项目)。你有什么好的想法或链接?

+0

你必须建立一个表达式解析器和实现所需的功能。 – 2012-02-24 23:14:30

回答

4

这里没有内置到C++中;所有表达式解析代码都属于编译器。你将需要使用一些外部库。快速谷歌搜索带来muParser这看起来很合理。

+0

muParser +1。我们一直在我们的神经模拟器MOOSE中使用它,没有任何问题。它的速度非常好。 – Dilawar 2016-04-28 08:53:16