奇怪的提升::Lexical_cast转换

Strange Boost::Lexical_cast conversion

本文关键字:Lexical cast 转换      更新时间:2023-10-16

为了简短起见,这里是代码:

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

,但第二个将是

传真6.70932579e+028

预期结果是

F21,0

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

您的代码在 m_strenm_sten 之间切换。

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

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