使用C ++ Qt读取.csv文件时遇到问题。这是CSV格式:
0.2345;0.567;1.2456;...
这是读取CSV文件的代码:
void CSV::readCSV(std::istream &input, std::vector<double> &output) {
std::string csvElement;
while (std::getline(input, csvElement, ';')) {
output.push_back(stod(csvElement));
}
}
输出:
0.0000 0.0000 1.0000
输出错误。你能帮我解决这个问题吗?
答案 0 :(得分:1)
我怀疑你的代码中某处你正在将值转换为某种整数类型,然后将它们打印出来或转换回双打。类似于:
std::cout << std::fixed << std::setprecision(4);
for (auto el : vec){
int i = el;
double d = i;
std::cout << "Double: " << el << " Integer: " << i << " Double again: " << d << std::endl;
}