cout 格式化输出

头文件 #include <iomanip>

io 是输入输出,manip 是manipulator 的缩写(操作器)。

1、setw( n ) 设域宽为n个字符

    默认是右对齐(如果不够左面补充空格),

    若想左对齐,在cout语句 前写一句 cout << left;(后面的所有cout都默认左对齐)

    若果是小数的话是小数点也计算一个宽度,

    如果本来长度大于n,那么就无效,不会进行切割

  cout << setw(3) << a << endl;
  cout << left;
  cout << setw(3) << a << endl

2、setfill(char c) 用法 : 就是在预设宽度中如果已存在没用完的宽度大小,则用设置的字符c填充

 cout << setfill('*') << setw(4) << a << endl

 假设 a 为1, 因为默认是右对齐,所以左面补上 * ,输出 :***1    .

3、setbase(int n) : 将数字转换为 n 进制(好像只能8  10  16)

    cout << setbase(8) << 9 << endl;

输出 9 的 8进制,

4、setprecision(n)和  setiosflags(ios::fixed) 可控制输出流显示浮点数的数字个数,

      对小数的舍弃并不遵循四舍五入的规则。。。..

      单独一个setprecision(n)控制的是输出的有效数字是有效数字个数!!!不是小数点后的位数

      注意; 当保留2位有效数字时数,  输入 1.995时因为进位 成了2.0,

      ,但是不会输出2.00,会输出2,  自动舍去小数点后面的0

      所以要配合之  setiosflags(ios::showpoint)(放它前面) 强制保留小数点 一起用,固定小数输出..

cout <<setiosflags(ios::showpoint) << setprecision(2) << a <<endl;

 

如果要控制小数点的位数,不能用setiosflags(ios::showpoint),,而要用setiosflags(ios::fixed)~~~~~~

cout <<setiosflags(ios::fixed) << setprecision(2) << a <<endl;

setiosflags(ios::fixed),使得setprecision(2) 控制的位数从小数点后开始计算,不会舍去0.。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值