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