1.设置输出宽度
1.1 调用width成员函数来设置宽度
1.2通过setw(set width)操纵符来设置宽度,使用操纵符时要添加头文件#include<iomanip>
代码示例:
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
double t[]={1.234,2.345,54.234,5.643};
cout<<"width成员函数设置宽度"<<endl;
for(int i=0;i<4;i++){
cout.width(10); //通过width成员函数设置宽度,默认右对齐,
//cout.fill('*'); //数据宽度不够时,自动填充空格,fill成员函数可以设置填充的字符。
cout<<t[i]<<endl;
}
cout<<"setw设置宽度"<<endl;
for(int i=0;i<4;i++){
cout<<setw(20)<<t[i]<<endl;//通过操纵符setw设置宽度,默认右对齐
}
return 0;
}
结果:
2.设置对齐方式
通过操纵符setiosflags(定义在头文件iosmanip中)来设置对齐方式,参数ios_base::left和ios_base::right分别为左对齐和右对齐。
ios_base::为静态常量,这里必须要引用。setiosflags的改变是持续的,使用完后恢复默认值。
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
int main(){
double t[]={1.234,2.345,54.234,5.643};
string x[]={"mayi","zhanglang","zhuozi","shouji"};
cout<<"setiosflags设置对齐方式"<<endl;
for(int i=0;i<4;i++){ //不设置,采用默认方式。
cout<<setw(10)<<t[i]
<<setw(10)<<x[i]<<endl;
}
cout<<endl;
for(int i=0;i<4;i++){
cout<<setiosflags(ios_base::left) //设置左对齐
<<setw(10)<<t[i]
<<setiosflags(ios_base::left)
<<setw(10)<<x[i]<<endl;
}
cout<<setiosflags(ios_base::right);//改回默认模式
return 0;
}
结果:
3.设置精度
通过操纵符setprecision(定义在头文件iosmanip中)来设置精度。
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
int main(){
double t[]={1.234,2.345,54.234,5.643};
string x[]={"mayi","zhanglang","zhuozi","shouji"};
cout<<"setprecision设置精度"<<endl;
for(int i=0;i<4;i++){
cout<<setiosflags(ios_base::left) //设置左对齐
//<<setiosflags(ios_base::fixed)//以定点格式显示浮点数据
//<<setiosflags(ios_base::scientific)//以科学格式显示浮点数
<<setprecision(1)//设置精度为1.
<<setw(10)<<t[i]
<<setiosflags(ios_base::left)
<<setw(10)<<x[i]<<endl;
}
cout<<setiosflags(ios_base::right);//改回默认模式
return 0;
}
结果:
输出格式可以通过以下两个参数改变:
setiosflags(ios_base::fixed)//以定点格式显示浮点数据
setiosflags(ios_base::scientific)//以科学格式显示浮点数
可以自己去尝试。
4.设置进制
通过操纵符dec(十进制),oct(八进制),hex(十六进制)来设置输入输出进制。
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
int main(){
int x=245;
cout<<"设置进制 dec(十进制),oct(八进制),hex(十六进制)"<<endl;
cout<<"十进制:"<<dec<<x<<endl
<<"八进制:"<<oct<<x<<endl
<<"十六进制:"<<hex<<x<<endl;
return 0;
}
结果:
5.对于控制输出格式的一些常用方法如下图:
操纵符:
成员函数:
参考链接: