调用输出格式设置函数所需头文件包含于iomanip
头文件中
下面介绍setw()
与setprecision()
函数的作用
setw()设置输出的域宽
setprecision()设置输出的精度
若要设置小数点位数则在setprecision()之前加fixed
如:cout<<fixed<<setprecision()<<n;
n为变量
先看一段代码,代码用于理解setw()
与setprecision()
的作用范围
#include <string>
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
string a = "123", b = "456", c = "789";
double n = 12.123, m = 11.111;
cout << setw(12) << a << b << c << endl;
cout << setw(12) << a << setw(12) << b << setw(12) << c << endl;
cout << setprecision(2) << m << " " << n << endl;
return 0;
}
运行结果
每个cout语句对应上面的一行数据
- setw()对其后的第一次输出的数据起作用,需要重复设置;
- setprecision()对其后的所有数据输出都起作用,不需重复设置
setw()使用时对中文不友好,故在程序中尽量不要使用中文
总结:
setw()
只对紧接着的输出有效,紧接着的输出结束后又变回默认的域宽,与 setw()
字段宽度不同的是,setprecision()
的精度设置将保持有效,直到更改为其他值为止