C++ 在C+中推回U之前将字符串转换为浮点数+;
我收集了大量的CSV行,我将它们一行一行地拆分,用逗号拆分,然后将这些标记放在一个向量中 下面是我处理这句话中最后两项的小代码片段:C++ 在C+中推回U之前将字符串转换为浮点数+;,c++,type-conversion,stdvector,push-back,C++,Type Conversion,Stdvector,Push Back,我收集了大量的CSV行,我将它们一行一行地拆分,用逗号拆分,然后将这些标记放在一个向量中 下面是我处理这句话中最后两项的小代码片段: //token for parser string token; //turn into a string stream istringstream ss(line); //ye olde vector to put things in std::vector<float&g
//token for parser
string token;
//turn into a string stream
istringstream ss(line);
//ye olde vector to put things in
std::vector<float> lineContainer;
while(getline(ss, token, ','))
{
lineContainer.push_back(::atof(token));
}
换句话说,将字符串转换为浮点数是不允许的,至少我是这样做的
如何将此数据类型转换为浮点型?我认为这是直截了当的,但是我对C++缺乏经验(我在C语言中的表现要好得多),还没有抓住其他语言中我认为理所当然的细微差别。 < P>代码>令牌< /代码>是“<代码> STD::String ”的类型。code>atof获取指向以nul结尾的字符数组的c字符串或
const char*
指针
lineContainer.push_back(::atof(token.c_str()));
可能存在的副本
lineContainer.push_back(::atof(token.c_str()));