setw(int n)
设置一个输出的宽度
n是宽度值 n必须是整数
这个操作符声明在iomanip里面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /****************************************************************************** setw *******************************************************************************/ #include <iomanip> #include <iostream> using namespace std; int main() { int num = 50; cout << "Before setting the width:"<<endl; cout<< num << endl; cout << "Setting the width using setw to 5:"<<endl; cout <<setw(5)<< num << endl; // Using setw() return 0; } |
setprecision(int n)
是一个用于控制输出流中浮点数精度的操纵符,定义在 <iomanip>
头文件中。它的功能是设置浮点数的输出位数。
对于默认情况(即不启用fixed
或者scientific
的情况下),setprecision(n)
指定输出的总有效位数(包括小数点前后的位数)。如果使用了 fixed
模式,那么 setprecision(n)
将指定输出的小数点后的位数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <iostream> #include <iomanip> using namespace std; int main(){ float pi=3.14159265358; cout<<pi<<endl; //默认六位精度 // pi=pi+3; cout<<pi<<endl; cout<<setprecision(5)<<pi<<endl; //用setprecision操作符 来控制显示浮点数值的有效数的数量。 // pi=pi*10; cout<<fixed<<setprecision(5)<<pi<<endl; // 设置了fixed之后,setprecision()的精度值应该设置为小数的位数,而不是浮点数的有效数字位数 //float类型最多6~7位精度 return 0; } |
1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream> #include <iomanip> using namespace std; int main() { float a=3.14159265358979323846; double b=3.14159265358979323846; cout<<setprecision(15)<<a<<endl; // Float has 6~7 digits of precision. cout<<setprecision(15)<<b<<endl; // Double has 15~16 digits of precision. return 0; } |