![](/img/trans.png)
[英]What is the best way to convert vector<vector<string>> into vector<vector<double>>?
[英]Convenient way to convert vector<string> to vector<double>
除了使用变换算法和 istringstream 之外,C++ 中是否有任何便捷的方法可以将向量转换为向量?
非常感谢你的帮助!
lexical_cast
非常“方便”。
for(size_t i = 0; i < vec.size(); ++i) {
vec2.push_back(boost::lexical_cast<double>(vec[i]));
}
当然,使用std::transform
会变得更加有趣:
std::transform(strings.begin(), strings.end(),
std::back_inserter(doubles),
boost::lexical_cast<double, std::string>); // Note the two template arguments!
atof
也可以满足您的需求,请记住包含cstdlib
:
std::transform(strings.begin(), strings.end(), std::back_inserter(doubles),
[](const std::string& x) { return std::atof(x.c_str()); });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.