总结……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
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
相关文章推荐
- 5-25 念数字 (15分) c语言
- C++ 对象模型
- VC++ 获取系统时间、程序运行时间(精确到秒,毫秒)的五种方法
- C++ 文件输入输出流
- 第七届蓝桥杯省赛C/C++B组省赛题解
- 什么是C++虚函数、虚函数的作用和使用方法
- 大数的存储问题,计算1~40所有数的阶乘
- 5-24 约分最简分式 (15分) c语言版
- c++11 学习及测试(auto,decltype,range for...)
- 学习C语言,在软件测试中如何用?
- 狐狸抓兔子(实验楼的练习)
- C语言函数参数压栈顺序为何是从右到左?(从左向右的话,碰到printf的会陷入死循环)
- ubuntu14.04 下安装sublime text3 并搭建C/C++编译环境
- 【c++】念数字
- 【c++】念数字
- 操作系统页面置换算法c++
- 【C++】 浅析异常
- C++ const实现原理
- OC语言入门
- 应用:C语言通讯录---搜索联系人