【问题标题】:Convert string to mathematical evaluation [closed]将字符串转换为数学评估 [关闭]
【发布时间】:2012-02-24 23:04:06
【问题描述】:

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

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

【问题讨论】:

  • 您必须构建一个表达式解析器并实现所需的功能。

标签: c++ string math


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    C++ 没有为此内置任何东西;所有的表达式解析代码都属于编译器。您将需要使用一些外部库。快速谷歌搜索会找到muParser,这看起来很合理。

    【讨论】:

    • +1 用于 muParser。我们一直在我们的神经模拟器 MOOSE 中使用它,没有任何问题。它的速度非常好。
    猜你喜欢
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 1970-01-01
    • 2021-05-24
    相关资源
    最近更新 更多