其他分享
首页 > 其他分享> > 2021-09-25

2021-09-25

作者:互联网

C++在标准输入流与输出流中使用控制符

标准输入输出流的控制符:

控制符作用
dec设置数值的基数为10
hex设置数值的基数为16
oct设置数值的基数为8
setfill(c)设置填充字符c,c可以是字符常量或字符变量
setprecision(n)设置浮点数的精度为n位。在以一般十进制小数形式输出时,n代表有效 数字。在以fixed(固定小数位数)形式和scientific(指数)形式输出时,n为小数位数。
setw(n)设置字段宽度为n位
setiosflags(ios::fixed)设置浮点数以固定的小数位数显示
setiosflags(ios::scientific)设置浮点数以科学计数法(即指数形式)显示
setiosflags(ios::left)输出数据左对齐
setiosflags(ios::right)输出数据右对齐
setiosflags(ios::skipws)忽略前导空格
setiosflags(ios::uppercase)数据以十六进制形式输出时字母以大写表示
setiosflags(ios::lowercase)数据以十六进制形式输出时字母以小写表示
setiosflags(ios::showpos)输出正数时给出“+”号

先来一个浮点数的例子

double a = 123.456789012345;

/*1*/
cout<<a;
//输出123.457 默认精度为6

/*2*/
cout<<setprecision(9)<<a;
//输出123.456789,设置有效数字为9位

/*3*/
cout<<setprecision(6);
//无输出。恢复默认格式精度为6,否则如果语句一起运行,下面的精度会延续上面精度为9

/*4*/
cout<<setw(18)<<a;
//输出        123.457,前面8个空格,字段宽度为15 
cout<<setw(5)<<a;
//输出为123.457,字段宽度未受影响

/*5*/
out<<setiosflags(ios::fixed)<<setprecision(8)<<a;
//输出123.45678901,设置a以固定小数位8位输出 

/*6*/
cout<<setiosflags(ios::scientific)<<a;
//输出1.234568e+002,科学计数法
cout<<setiosflags(ios::scientific)<<setprecision(4)<<a;
//输出1.2346e+002,科学计数法并保留四位小数
	

再来一个整数的例子

	int b=123456;
	cout<<b;//输出123456 
	cout<<hex<<b;/输出1e240 
	cout<<setiosflags(ios::uppercase)<<b;//输出1E240
	cout<<setw(10)<<b;//输出    123456
	cout<<setfill('*')<<setw(10)<<b;//输出****123456
	cout<<setiosflags(ios::showpos)<<b;//输出+123456
	cout<<oct<<b;//输出361100

注意

1、如果使用了控制符,在程序单位开头除了要加iostream头文件外,还要加iomanip头文件。
2、在尝试过程中建议,输出及时恢复默认,否则的话前面的输出形式可能会影响后面的输出的结果。

标签:输出,25,控制符,浮点数,09,ios,setiosflags,2021,设置
来源: https://blog.csdn.net/qq_38158710/article/details/120469795