[英]Unexpected result when extracting double values from CSV C++
我在使用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
輸出錯誤。 您能幫我解決這個問題嗎?
我懷疑代碼中的某個地方正在將值轉換為某種整數類型,然后將其打印出來或轉換回雙精度型。 類似於:
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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.