1

所以我正在做这个项目,我必须读取一个 CSV 文件,其中包含以科学记数法表示的数字。到目前为止,我所要做的是读取每个数字,然后将该数字转换为字符串,然后使用 stringstream 将其转换为双精度,但我不确定这是否是正确的方法。任何建议/建议都会有所帮助!

double temp;
istringstream in(line); //line is the string which contains the number, ex: 3.30144800e+03
in >> temp;
arr[w++] = temp;
4

1 回答 1

1

您可以将字符串转换为双精度std::atof

istringstream in(line);
double        value(atof(in.str().c_str()));

或者您可以简单地将双倍从缓冲区中流出......

double value;
in >> value;
于 2012-08-02T18:46:46.343 回答