c++ 输出格式控制

cout 的种种

作为一个竞赛选手,对于浮点型输出一向都是直接用printf 输出了事,但是身为一个c++ 程序员,发现这点基础都不会,太尴尬了,说出去丢人,于是抽空学了学,总结一下

头文件

iostream 就不用说了,重要的是iomanip(io 的manipulate)
1. 整型 输出进制(默认十进制)
八进制,十进制,十六进制

int a;
cin>>oct>>a;
cout<<oct<<a;
//效果等同
printf("%o",a);
cout<<dec;//默认的都是全局设置,所以最好在每次输出之后设为默认

2.控制输出长度,有效位数,填充字符

控制输出长度 setw() w是(width),这个只作用一次,如果输出的字段大于给定的长度,不起作用
有效位数 setprecision(), 这个是全局的,默认是六位//对浮点数作用
填充字符 在setw() 中如果位数不够,用这个设定的字符来补充,默认是空格
使用方法

int a = 100;
cout<<setw(10)<<a<<endl;//控制输出的长度,这个
cout<<setfill('*')<<setw(10)<<a<<endl;
cout<<seprecison(2.111)<<a<<endl;

这里写图片描述
3.格式控制
这里写图片描述

需要用到setiosflag
需要左对齐,右对齐
setiosflag(ios:: left),setiosflag(ios:: right);//默认右对齐,全局设置

  cout<<setw(10)<<setiosflags(ios::left)<<a<<endl;

固定输出小数位数,setiosflag(ios::fixed)与setprecision(n)连用.全局设置

  cout<<setiosflags(ios::fixed)<<setprecision(5)<<a<<endl;
  相当于printf("%.5f\n",a);

更多请查表
表格

posted on 2018-01-03 01:14  zzuzxy  阅读(394)  评论(0)    收藏  举报

导航