Strange Boost :: Lexical_cast转换

时间:2015-01-26 21:26:08

标签: c++ boost lexical-cast

简而言之,这是代码:

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

我不知道为什么这种转换如此奇怪......我需要你的灯。 提前谢谢。

2 个答案:

答案 0 :(得分:2)

您的代码在m_strenm_sten之间切换。

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

答案 1 :(得分:-1)

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