简而言之,这是代码:
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
我不知道为什么这种转换如此奇怪......我需要你的灯。 提前谢谢。
答案 0 :(得分:2)
您的代码在m_stren
和m_sten
之间切换。
你确定你没有混淆两个不同但名称相同的变量吗?
答案 1 :(得分:-1)
好吧,我发现了解决方案,事实上,m_sten并没有真正宣布。我忘了用函数声明它。感谢您对此的关注。