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

示例代码:

  

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<ctime>
 4 #include<fstream>
 5 #include<ostream>
 6 using namespace std;
 7 
 8 
 9 int main(){
10     const int N =16;
11     //第一种实现方式
12     hex(cout);
13     cout<<"hex:"<<N<<endl;
14     oct(cout);
15     cout<<"oct:"<<N<<endl;
16     dec(cout);
17     cout<<"dec:"<<N<<endl;
18     //第二种实现方式
19     cout<<hex<<"hex:"<<N<<endl;
20     cout<<oct<<"oct:"<<N<<endl;
21     cout<<dec<<"dec:"<<N<<endl;
22 return 0; 
23 }

2、调整子宽

cout.width(int width);      //每次只针对一个项目

示例代码:

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<ctime>
 4 #include<fstream>
 5 #include<ostream>
 6 using namespace std;
 7 
 8 
 9 int main(){
10     //cout<<width(5)<<12<<endl;
11     cout.width(12);
12     cout<<121212121<<endl;
13     return 0; 
14 }

3、填充字符:

cout.fill(char t);       

示例代码:

#include<cstdio>
#include<iostream>
#include<ctime>
#include<fstream>
#include<ostream>
using namespace std;


int main(){
    cout.fill('*');
    cout.width(12);
    cout<<12<<endl;
    return 0;
}

4、设置浮点数精度:

cout.precision(int bit);

示例代码:

#include<iostream>
using namespace std;
int main(){
    cout.precision(2);
    cout<<1.233<<endl;
    return 0;
}

5、打印末尾的0和小数点

cout.setf(ios_base::showpoint);

示例代码:

1 #include<iostream>
2 using namespace std;
3 int main(){
4     cout.setf(ios_base::showpoint) ;
5     cout<<2.<<endl;
6     cout<<2.323<<endl;
7     return 0;
8 }

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

 

posted @ 2016-04-01 19:12  砂糖橘子君  阅读(854)  评论(0编辑  收藏  举报