错误:从字符串转换为double无效.如何从字符串转换为double?

cod*_*441 0 c++

可能重复:
如何在C++中将字符串转换为double?

如何在c ++中将字符串转换为double?

我有一个带有数字的字符串向量,我想将它复制到double类型的向量中

while (cin >> sample_string)
    {
        vector_string.push_back(sample_string);
    }

    for(int i = 0; i <= vector_string.size(); i++)
    {
        if(i != 0 && i != 2 && i != vector_string.size()-1)
            vector_double.push_back((double)vector_string[i]);
    }
Run Code Online (Sandbox Code Playgroud)

编辑:我不能使用BOOST

The*_*onk 5

我认为你应该使用STL提供的stringstream类.它使您能够从字符串转换为双倍,反之亦然.这样的事情应该有效:

#include <sstream>
string val = "156.99";
stringstream s;
double d = 0;
s << val;
s >> d;
Run Code Online (Sandbox Code Playgroud)