【发布时间】:2015-03-25 09:25:42
【问题描述】:
简而言之,这里是代码:
std::string m_specs = "f500000";
float m_sten = 21.0;
std::cout << m_specs << std::endl;
m_specs = "f" + boost::lexical_cast<std::string>(m_sten);
std::cout << m_specs << std::endl;
第一个输出将是:
f500000
,但第二个将是
f6.70932579e+028
预期结果是
f21.0
我不知道为什么这种转换如此奇怪......我需要你的灯。 提前谢谢你。
【问题讨论】:
-
在第一行,你使用
m_sten,但在第三行,你使用m_stren。另外,您为什么要将字符串词法转换为字符串?你想做什么?你确定你做对了吗? -
已编辑,抱歉,不是这个。
-
ideone 不同意你的观点。一个完整的例子怎么样?
-
投票结束,因为我们现在得到了两个无法重现问题的有缺陷的代码 sn-ps。 OP,请让问题实际发生在您可以在不更改的情况下发布的代码中。 (使用 ideone!)
标签: c++ boost lexical-cast