从文件中读取双倍

Ere*_*ğüt 4 c++ double readfile

对于我的作业,我应该从文件中读取双值并对它们进行排序.这些是一些价值观.但是当我用我的代码读取它们时,当打印它进行测试时,它们是以整数形式写的.

std::ifstream infile (in_File);
double a;
while(infile>>a)
{
    std::cout<<a<<std::endl;
}
Run Code Online (Sandbox Code Playgroud)

我的双打是185261.886524从那时开始的237358.956723

然后我的代码打印出来185262然后237359再打印.

Joh*_*nck 6

尝试在您的顶部添加main():

setlocale(LC_ALL, "C");
Run Code Online (Sandbox Code Playgroud)

将为您的程序提供"C"语言环境而不是本地语言环境.我想你的本地人使用","作为小数点而不是"." 和你的数据一样.

您还需要#include <clocale>在文件的顶部添加.

编辑:然后,为了获得更高的精确度,您可以#include <iomanip>在程序的顶部执行此操作:

std::cout << std::setprecision(20);
Run Code Online (Sandbox Code Playgroud)

setprecision 更改打印的总位数.