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再打印.
尝试在您的顶部添加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 更改打印的总位数.