大佬文章链接讲解详细简洁
C/C++ 数据格式化_huichangxindong的博客-CSDN博客_c++ 格式化
代码测试实验
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
bool m;
double x,y,z,f;
float f1;
int a,b,c;
cin>>boolalpha>>m; //输入:true
cout<<m<<' '<<boolalpha<<m<<' '<<noboolalpha<<m<<endl; //输出:1 true 1
cin>>oct>>a>>hex>>b>>dec>>c; //输入:23 D2 -9
cout<<dec<<b<<' '<<oct<<b<<' '<<hex<<b<<endl; //输出:210 322 d2
cout<<showbase<<dec<<b<<' '<<oct<<b<<' '<<hex<<b<<endl; //输出:210 0322 0xd2
cin>>x>>y>>f>>f1; //输入:3.14 0.1e1 3.1415926 0.1
cout.precision(5); //按浮点数形式输出
cout<<x<<' '<<y<<' '<<f<<endl; //输出:3.14 1 3.1416
cout<<fixed<<x<<' '<<y<<' '<<f<<endl; //输出:3.14000 1.00000 3.14159
cout<<scientific<<x<<' '<<y<<' '<<f<<endl;//输出: 3.14000e+000 1.00000e+000 3.14159e+000
a=6;
f=4.1456;
cout<<left<<setw(6)<<a<<endl;
cout.width(6);cout<<right<<a<<endl; //输出: 6
cout<<setw(10)<<77<<' '<<setfill('0')<<setw(10)<<77<<endl; //输出: 77 0000000077
cout<<fixed<<setprecision(5)<<f<<' '<<setprecision(10)<<f<<endl; //输出:4.14560 4.1456000000
cout<<f<<endl;
cout<<showpos<<1<<' '<<0<<' '<<-1<<endl; //输出:+1 +0 -1
cout<<noshowpos<<1<<' '<<0<<' '<<-1<<endl; //输出:1 0 -1
return 0;
}