Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在整个文件范围内设置std::cout的精度-C++;伊曼尼普_C++_Cout_Iomanip - Fatal编程技术网

C++ 在整个文件范围内设置std::cout的精度-C++;伊曼尼普

C++ 在整个文件范围内设置std::cout的精度-C++;伊曼尼普,c++,cout,iomanip,C++,Cout,Iomanip,我正在做一些计算,结果保存在一个文件中。我必须输出非常精确的结果,接近双变量的精度,我使用iomanip setprecision(int)来实现这一点。问题是我必须在输出中的任何地方都放置setprecision,如下所示: func1() { cout<<setprecision(12)<<value; cout<<setprecision(10)<<value2; } func2() { cout<<setprecision(17

我正在做一些计算,结果保存在一个文件中。我必须输出非常精确的结果,接近双变量的精度,我使用iomanip setprecision(int)来实现这一点。问题是我必须在输出中的任何地方都放置setprecision,如下所示:

func1() {
cout<<setprecision(12)<<value;
cout<<setprecision(10)<<value2;
}
func2() {
cout<<setprecision(17)<<value4;
cout<<setprecision(3)<<value42;
}
func1(){

您是否在寻找?

在C++20中,您可以使用默认情况下最短的十进制表示形式,因此即使不手动指定,也不会降低精度。例如:

std::cout << std::format("{}", M_PI);
如果需要固定精度,可以将其存储在变量中,并在多个位置重复使用:

int precision = 10;
std::cout << std::format("{:.{}}", value, precision);
int精度=10;
标准::cout
int precision = 10;
std::cout << std::format("{:.{}}", value, precision);