将字符串转换为数学求值

Convert string to mathematical evaluation

本文关键字:字符串 转换      更新时间:2023-10-16

好的,所以我想做的是使用字符串作为输入(例如"16*12+25"),将其转换为计算机可以理解的数学求值,并返回求值值。我可能会自己写这篇文章,但很可能需要很长一段时间,最后,除非我想花更多的时间,否则它仍然不会像我希望的那样好

所以我的问题是,你知道有什么脚本、库或api可以为C++做到这一点吗?我已经为java、python和.NET找到了一些。但我不使用这些语言中的任何一种,我希望尽可能长时间地(希望在整个项目中)使用C++。你有什么好的想法或链接吗?

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

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

C++中没有任何内置功能;所有的表达式解析代码都属于编译器。您将需要使用一些外部库。快速的谷歌搜索会显示muParser,它看起来很合理。