将字符串转换为数学求值
Convert string to mathematical evaluation
好的,所以我想做的是使用字符串作为输入(例如"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,它看起来很合理。
相关文章:
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 当字符串存储在变量中时,如何将字符串转换为wchar_t
- 如何将这个std::字符串转换为std::基本字符串
- 如何正确将字符串转换为标准::时间::system_clock::time_point?
- 如何在C++中将十六进制字符串转换为文本数据
- 需要帮助在 c++ 中将字符串转换为字符 ----错误 "const char *" 类型的值不能用于初始化 "char" 类型的实体
- 如何从字符串转换为双精度*
- C++:如何将 unix 时间的字符串转换为 *tm?(使用时间错误:"cannot convert 'String' to 'tm*' ")
- 如何在C++中将 Python 字符串转换为其转义版本?
- 如何在 C++11 中将标准::字符串转换为标准::u32字符串?
- 如何将整数字符串转换为整数的二维向量?
- 使用 "stringstream " 将字符串转换为整数
- 将字符串转换为浮点数或整数,而无需使用内置函数(如 atoi 或 atof)
- 将文件复制到自定义位置,存在字符串转换问题
- 将ANSI C字符串转换为UNICODE
- 如何将节点 V8 字符串转换为 C++ 字符串
- 在C++中将字符串转换为双精度,而无需科学记数法
- 使用从文件(stod、strtod、atof)中提取的数据C++从字符串转换为双精度.csv
- 如何在C++中将字符串转换为双精度?
- 将字符串转换为无符号字符数组/字节数组