将字符串转换为数学表达式求值

23

好的,我想做的是使用一个字符串作为输入(例如 "16*12+25"),将其转换为计算机可以理解和返回计算后的值的数学表达式。我可能可以自己编写这个程序,但很可能需要相当长的时间,最终结果也不会像我希望的那样好,除非我愿意再花更多的时间。

所以我的问题是,您是否知道有任何脚本、库或 API 可以在 C++ 中实现这个功能?我已经找到了一些用于 Java、Python 和 .NET 的脚本,但我没有使用这些语言,并且希望尽可能地在 C++ 中完成整个项目。您有任何好的想法或链接吗?


你需要构建一个表达式解析器并实现所需的函数。 - Kerrek SB
2个回答

22

5

在C++中没有内置这个功能;所有表达式解析代码都属于编译器。您需要使用一些外部库。快速搜索谷歌可以找到一个看起来相当合理的 muParser


+1 给 muParser。我们在神经模拟器 MOOSE 中使用它,没有任何问题。它的速度非常快。 - Dilawar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接