C++ 如何为代码块中的所有cout设置精度?
我不想重复使用setprecision和fixed on cout。那么,是否有任何方法可以只设置一个并将其用于代码块中的所有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
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);