您的位置:首页 > 编程语言 > C语言/C++

总结……c++的输出格式

2016-03-21 19:42 453 查看
I/O流常用控制符(#include<iomanip> ):

dec:以十进制输出,相当于%d

hex:以十六进制输出,相当于%X

oct:以八进制输出,相当于%o

测试代码:

int a = 16;

cout<<dec<<a<<endl;//16

cout<<hex<<a<<endl;//10

cout<<oct<<a<<endl;//20

setbase(int n) : 将数字转换为 n 进制.

测试代码:

cout<<setbase(8)<<255<<endl; //377

cout<<setbase(10)<<255<<endl; //255

cout<<setbase(16)<<255<<endl;//ff

setfill(c):设置填充字符c

setw(n):设置域宽为n个字符,默认为右对齐

setfill和setw只作用于紧随其后的部分

测试代码:

char *pt = "China";

cout<<setw(10)<<pt<<endl;//输出为" China"

cout<<setfill('*')<<setw(10)<<pt<<endl;//输出为"*****China"

setprecision(n):设置小数精度为n,一共有n位数显示

测试代码:

double pi=22.0/7.0; //计算pi值

cout<<setprecision(10)<<pi<<endl;//"3.142857143"

setiosflags(ios::fixed) 固定的浮点显示

与setprecision(n)一起使用,加上setiosflags(ios::fixed)表示输出的小数位数为n(不够的用0补齐),不加的时候表示整个输出的位数为n。

测试代码:

cout<<setprecision(4)<<pi<<endl;//31.71

cout<<setiosflags(ios::fixed)<<setprecision(4)<<pi<<endl;//31.7143

setiosflags(ios::scientific) 指数表示

以指数的形式输出数据,即整数位只有一个数字

测试代码:

double d=12.345678901234567;

cout<<setiosflags(ios::scientific)<<setprecision(4)<<d<<endl;//1.2346e+001

setiosflags(ios::left) 左对齐

测试代码:

char *pt = "China";

cout<<setiosflags(ios::left)<<pt<<endl;//输出为“China”

cout<<setiosflags(ios::left)<<setw(10)<<pt<<"d"<<endl;//输出为"China "

setiosflags(ios::right) 右对齐

测试代码:

char *pt = "China";

cout<<setiosflags(ios::right)<<pt<<endl;//输出为“China”

cout<<setiosflags(ios::right)<<setw(10)<<pt<<"d"<<endl;//输出为" China"

setiosflags(ios::skipws) 忽略前导空白

setiosflags(ios::uppercase) 16进制数大写输出

测试代码:

cout<<setiosflags(ios::uppercase)<<hex<<255<<endl;//FF
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: