将大的双精度数写入 TXT 文件C++

write large double number into txt file C++

本文关键字:TXT 文件 C++ 双精度      更新时间:2023-10-16

我尝试编写一个大的双精度数,这是我的函数将结果生成到 txt 文件(使用 c++(所需的时间。

例如,在我的控制台中,该函数采用 0.000029(时间单位(,当我将值写入我的 txt 文件时,它会转换为:2.9e-05

我的问题:如何在控制台中写入值,即 0.000029 ?

这是我的代码: *`

clock_t cPrec1=0;
double duration1 =0.0;
clock_t cTime1;
cTime1 = clock();
bool h= check(4, copy);
duration1 = ( cTime1 - cPrec1 ) / (double) CLOCKS_PER_SEC;
cPrec1 = clock();
outfile << space<< 1 << space << duration1<< space <<'n'  ; 
printf(" savedn");
`

谢谢你帮助我。

您可以使用std::setprecision()std::fixed函数。

当您使用流时,您可以在开头(甚至在双精度数字之前(添加"<<std::setprecision(n(">,以设置要查看的点后的数字数。此函数的参数是一个整数,用于指定打印的点后面的数字。

另一个有用的函数是std::fixed,可以像流中的前一个一样使用(例如"<<std::fixed">(。我向您报告函数的定义:

当 floatfield 设置为 fixed 时,将使用定点表示法写入浮点值:该值在小数部分中用与精度字段(精度(指定的位数完全相同,并且没有指数部分。

我还为您提供了此功能的 2 个有用链接:

标准::设置精度

标准::固定

使用:

outfile << std::setprecision(7) << duration1