stew、setprecision、setiosflags等C++格式化输出


setw、setprecision、setiosflags都需要包含头文件

#include<iomanip>

1.setw

setw操作符为每个输入数据指定宽度。

int value = 68;
cout << "(" << setw(5) << value << ")" << endl;

输出

(   68)

输出为将在68左边填充3个空格位再输出68。

  • 浮点数的域宽包含小数点所占的位置,即小数点占一位
  • 数值的输出默认为右对齐,即数值在右边,空格填充在数据的左边
  • 字符串中的空格也属于有效字符,并且占域宽
  • setw只能设置与它相邻的下一项输出域宽,一旦该项输出完毕,后面的输出域宽将还原为默认值

2.setprecision

setprecision指定浮点数的输出精度,即输出的有效位数

float value = 28.927f;
cout << setprecision(3) << value <<endl;

输出为

28.9

如果输出数的精度比setprecision指定的要小,则指定失效,原样输出。

  • setprecision设置输出精度和setw设置宽度的一个不同点是:精度的设置在它被重新设置之前一直有效,而setw仅对与其相邻的一个输出项有效。

3.setiosflags

setiosflags用来控制cout输出定点形式的浮点数。

float value = 12.0f;
cout << setprecision(2) << setiosflags(ios::showpoint | ios::fixed) << value;

输出

12.00

ios::fixed和setprecision(2)指定了小数点后输出两位有效数字,但是这里小数点后为0,通常不显示,使用ios::showpoint将小数点后的0也显示出来。
另外setiosflags里还可以设置各种标志位,功能如下:
在这里插入图片描述

4.采用成员函数实现格式化输出

成员函数cout.witdth(5)功能和setw(5)一样。
cout.precision(5)功能和setprecision(5)功能一样。
cout.setf(ios::fixed)功能和setiosflags(ios::fixed)功能一样。
与setf功能相反的函数成员usetf,用于清除已设置的状态标志。如

cout.usetf(ios::fixed);

用于关闭状态标志ios::fixed。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值