【问题标题】:Strange Boost::Lexical_cast conversion [closed]奇怪的 Boost::Lexical_cast 转换
【发布时间】: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


【解决方案1】:

您的代码在m_strenm_sten 之间切换。

您确定没有混淆两个不同但名称相似的变量吗?

【讨论】:

  • 哦,不好意思,我发东西的时候,总是把代码变短,忘记了一些小东西,我会快速编辑代码,这不是varame问题,我只是在SOF 上的代码。对不起。
【解决方案2】:

好吧,我找到了解决方案,事实上,m_sten 并没有真正声明。我忘了用函数声明它。感谢您对此的关注。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多