cout格式化的方式有很多,和C中的printf相比较,在实现方式上更加容易理解。
1、计数进制。
1、十六进制:hex
2、八进制:oct
3、十进制:dec(默认)
在控制进制的时候,可以使用两种格式:
(1)hex(cout); //也可以是oct(cout)或dec(cout)
(2)cout<<hex; //也可以cout<<oct;或者cout<<dec
示例代码:
#include<cstdio>
#include<iostream>
#include<ctime>
#include<fstream>
#include<ostream>
using namespace std; int main(){
const int N =;
//第一种实现方式
hex(cout);
cout<<"hex:"<<N<<endl;
oct(cout);
cout<<"oct:"<<N<<endl;
dec(cout);
cout<<"dec:"<<N<<endl;
//第二种实现方式
cout<<hex<<"hex:"<<N<<endl;
cout<<oct<<"oct:"<<N<<endl;
cout<<dec<<"dec:"<<N<<endl;
return ;
}
2、调整子宽
cout.width(int width); //每次只针对一个项目
示例代码:
#include<cstdio>
#include<iostream>
#include<ctime>
#include<fstream>
#include<ostream>
using namespace std; int main(){
//cout<<width(5)<<12<<endl;
cout.width();
cout<<<<endl;
return ;
}
3、填充字符:
cout.fill(char t);
示例代码:
#include<cstdio>
#include<iostream>
#include<ctime>
#include<fstream>
#include<ostream>
using namespace std; int main(){
cout.fill('*');
cout.width();
cout<<<<endl;
return ;
}
4、设置浮点数精度:
cout.precision(int bit);
示例代码:
#include<iostream>
using namespace std;
int main(){
cout.precision();
cout<<1.233<<endl;
return ;
}
5、打印末尾的0和小数点
cout.setf(ios_base::showpoint);
示例代码:
#include<iostream>
using namespace std;
int main(){
cout.setf(ios_base::showpoint) ;
cout<<.<<endl;
cout<<2.323<<endl;
return ;
}
6、setf()函数的参数(单个参数版本)
(1)ios_base::boolalpha 显示bool类型的string值(true/false)
(2)ios_base::showbase 显示数字基数前缀(八进制前缀0,十六进制前缀0x)
(3)ios_base::showpoint 显示小数点和末尾的0
(4)ios_base::uppercase 对于十六进制数显示大写字母
(5)ios_base::showpos 对于正数显示前面的+号(基数为10时)