首先格式化输出需要包括两个头文件
#include<iostream>
#include<iomanip>
1.保留三位小数
cout<<fixed<<setprecision(3)<<num<<endl;
注意如果像下面这么写:
cout<<setprecision(3)<<num<<endl;
保留的是num这个数字的三位有效数字
2.对齐
左对齐:
cout<<setiosflags(ios::left)<<num<<endl;
右对齐:
cout<<setiosflags(ios::right)<<num<<endl;
3.字符填充
cout<<setfill('0')<<num<<endl;
注意setfill里面的参数只能是一个字符,因此不能写成0(会被识别成数字0),也不能是字符串
(当然像上面这么写既没有艺术也没有意义,你完全可以自己先cout一个‘0’出来)
搭配set(n)食用更甜美,下面的代码在“后续的字符串”之前插入n个空格
cout<<setfill(' ')<<setw(n)<<"后续的字符串"<<endl;
将以上的操作全部集中在一条语句中:
//将day这个参数右对齐,日期可能是只有个位数,这时补充成两位数字,即1号->"01":
扫描二维码关注公众号,回复:
6508639 查看本文章
![](/qrcode.jpg)
cout<<setw(2)<<setfill('0')<<setiosflags(ios::right)<<day;
后续用到再更.......