本文主要是介绍stew、setprecision、setiosflags等C++格式化输出,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 1.setw
- 2.setprecision
- 3.setiosflags
- 4.采用成员函数实现格式化输出
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。
这篇关于stew、setprecision、setiosflags等C++格式化输出的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!