将字符串转换为数学评估

Ant*_*ton 22 c++ string math

好的,所以我想要做的是使用字符串作为输入(例如"16*12 + 25"),将其转换为计算机可以理解的数学评估并返回评估值.我本可以自己写这个,但它很可能需要一段时间,最后,它仍然不会像我想的那样结束,除非我想把更多的时间投入其中.

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

Ant*_*ton 22

我找到了我要找的东西!可下载的源代码是C++和CodeBlocks项目.你可以在这里找到它:http://www.speqmath.com/tutorials/expression_parser_cpp/index.html

Jared推荐的更复杂的表达式解析器:http://www.partow.net/programming/exprtk/index.html


spe*_*rcw 6

C++没有内置任何东西; 所有表达式解析代码都属于编译器.您将需要使用一些外部库.一个快速的谷歌搜索带来了muParser,看起来非常合理.