0
我正在從包含文本和數字的文件讀取字符串數組。當我將字符串轉換爲雙精度來進行計算時,我失去了精度。我返回的值應該等於284262.5862225,但主要我只能得到284262的值。小數點後面的數字看起來不會返回。我的代碼如下。將字符串轉換爲雙精度丟失
ifstream inFile("test.txt");
string line;
int row, col;
double value;
string head[6][2]={};
row=0;
if (!inFile.is_open())
{
cout << "Error opening xyz file. . .";
}
else
{
while(row<6)
{
getline(inFile, line);
stringstream ss (line);
col=0;
while (ss>>head[row][col])
{
col++;
}
row++;
}
inFile.close();
}
stringstream convert (head[2][1]);
convert>>value;
return value;
示例文件:
NROWS 270個
NCOLS 730
XLL 284262.586255
基] 792350
也許'stringstream'對待。作爲分隔符? – Creris
你有你的文件的樣本嗎? – MondKin
示例文件是在這裏: – khafen