C ++精度和文件流截断

时间:2014-06-25 19:59:43

标签: c++ fstream floating-point-precision digits truncation

我有一个包含数百个数字的file.txt。它们在点之后有很多位数(最多20个),我需要在没有截断的情况下得到它们,否则它们会在以下计算中引入错误。我用matlab制作了这些数字,所以它具有可怕的精度,但现在我必须在我的程序中复制这种行为。

我这样做了:

 fstream in;
 in.open(file.txt, ios::in);
 long double number;
 in>>number;

我也试过这个

 in.precision(20);
 in>>number;

在每个">>"之前但这是徒劳的。

如果我将这些数字复制并粘贴到我的代码中,将它们分配给长双变量,那么一切都很顺利,因为它是matlab。它是函数或fstream的问题,而不是long double类型的精度,不是吗?

例如,取此编号2.7239385667867091并将其保存在file.txt中。你能用C ++和fstream读取它的所有数字吗?

0 个答案:

没有答案