Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.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++ 如何为代码块中的所有cout设置精度?_C++_Cout - Fatal编程技术网

C++ 如何为代码块中的所有cout设置精度?

C++ 如何为代码块中的所有cout设置精度?,c++,cout,C++,Cout,我不想重复使用setprecision和fixed on cout。那么,是否有任何方法可以只设置一个并将其用于代码块中的所有cout?” int main() { double num1 = 1.00000, num2 = 2.00005; cout **<< setprecision(5) << fixed <<** num1 << endl; <-- I do not to repeatedly set this. cout

我不想重复使用setprecision和fixed on cout。那么,是否有任何方法可以只设置一个并将其用于代码块中的所有cout?”

int main()
{
  double num1 = 1.00000, num2 = 2.00005;
  cout **<< setprecision(5) << fixed <<** num1 << endl; <-- I do not to repeatedly set this.
  cout **<< setprecision(5) << fixed** << num2 << endl;
}
intmain()
{
双num1=1.00000,num2=2.00005;
cout**让我们举个例子:

#include <iostream>
int main () {
double f = 3.14159;
std::cout.unsetf ( std::ios::floatfield );                
std::cout.precision(5);
std::cout << f <<endl;
std::cout.precision(10);
std::cout << f <<endl;
std::cout.setf( std::ios::fixed, std:: ios::floatfield ); 
std::cout << f <<endl;
return 0;
}
#包括
int main(){
双f=3.14159;
std::cout.unset(std::ios::floatfield);
标准:计算精度(5);

std::cout有一个警告设置
.precision()
和流标志
std::fixed
std::showpoint
等将修改流标志,如他现在已删除的答案中所示,并修改程序范围内的流行为。这一点很重要,并且可能会对程序范围产生影响,无论它们设置在何处


通常,您希望更改格式的目的有限,例如在类重载
中的所有浮点输出,创建一个函数并将您想要的作为参数传递
#include <iostream>
int main () {
double f = 3.14159;
std::cout.unsetf ( std::ios::floatfield );                
std::cout.precision(5);
std::cout << f <<endl;
std::cout.precision(10);
std::cout << f <<endl;
std::cout.setf( std::ios::fixed, std:: ios::floatfield ); 
std::cout << f <<endl;
return 0;
}
#include <iostream>
int main () {
double num1 = 1.00000, num2 = 2.00005;
std::cout.unsetf ;                
std::cout.precision(5);
std::cout << num1 <<endl;
std::cout << num2 <<endl;
return 0;
}
#include <iostream>
int main () {
double num1 = 1.00000, num2 = 2.00005;
std::cout.unsetf ;                
std::cout.precision(5);
std::cout << num1 <<endl;
std::cout.precision(5);
std::cout << num2 <<endl;
return 0;
}
    std::ios_base::fmtflags f = std::cout.flags();      /* save format flags */
    std::cout.flags(f);                                 /* restore saved flags */
    std::cout.precision(6);                             /* restore precision */
std::cout.setf (std::ios_base::fixed, std::ios_base::showpoint);