cout 格式化的一些方法

时间:2023-03-09 06:38:51
cout 格式化的一些方法

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时)