【发布时间】:2014-06-03 14:50:42
【问题描述】:
我有以下意图:
取一个字符串如:
string test = "2.0+2.5";
并将其转换为双 4.5。这可能吗?我还想将其扩展到复杂类型。我在 Java 方面有更多经验,但我正在尝试使用 C++。我尝试使用 stringstream,但我最终得到的双精度只有 2。所以我想它停在“+”。感谢您的任何帮助或指点。
【问题讨论】:
-
您需要一个表达式解析器/求值器。现在您知道了术语,您可以进行网络搜索。
-
请说明您尝试了什么以及您的具体问题是什么;如果您还没有尝试过,那么现在还不是提问的时候:)
-
大卫,谢谢你的指导。 Matthieu,请参阅已编辑的问题。
-
I have more experience with Java but I am trying to work with C++.表达式评估与您使用的语言无关。您在 Java 中会遇到与在 C++(以及几乎任何其他非脚本语言)中相同的问题。 -
I attempted to use stringstream, however the double that I ended up with was only the 2. So I suppose it stops at the "+".在编写另一行代码之前,您可能在解决这个问题时走错了路。如果你的表达式变得更复杂,我现在就告诉你,你不可能在你将要画自己的角落里“不画自己”。同样,有一种独立于语言的表达式解析方法你正在使用,它不仅仅是像你现在所做的那样遍历字符串。
标签: c++ string double stringio