简而言之,这里是代码:
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
我不知道为什么这种转换如此奇怪......我需要你的灯。先感谢您。