可能重复:
如何在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
我认为你应该使用STL提供的stringstream类.它使您能够从字符串转换为双倍,反之亦然.这样的事情应该有效:
#include <sstream>
string val = "156.99";
stringstream s;
double d = 0;
s << val;
s >> d;
Run Code Online (Sandbox Code Playgroud)