我有一个包含数百个数字的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读取它的所有数字吗?