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