输入输出流的控制符
需要注意: 使用控制符,除了要加iostream头文件外,还要加iomanip头文件。
控制符 | 作 用 |
---|---|
dec | 设置数值的基数为10 |
hex | 设置数值的基数为16 |
oct | 设置数值的基数为8 |
setfill(c) | 设置填充字符c,c可以是字符常量或字符变量 |
setprecision(n) | 设置浮点数的精度为n位。在以一般十进制小数形式输出时,n代表有效数字。在以fixed(固定小数位数)形式和 scientific(指数)形式输出时,n为小数位数 |
setw(n) | 设置字段宽度为n位 |
setiosflags( ios::fixed) | 设置浮点数以固定的小数位数显示 |
setiosftags( ios::scientific) | 设置浮点数以科学记数法(即指数形式)显示 |
setiosflags( ios::left) | 输出数据左对齐 |
setiosflags( ios::right) | 输出数据右对齐 |
setiosflags( ios::skipws) | 忽略前导的空格 |
setiosflags( ios::uppercase) | 数据以十六进制形式输出时字母以大写表示 |
setiosflags( ios::lowercase) | 数据以十六进制形式输出时宇母以小写表示 |
setiosflags(ios::showpos) | 输出正数时给出“+”号 |
举例, 输出双精度数:
double a=123.456789012345; // 对a赋初值
1) cout<<a; 输出: 123.456
2) cout<<setprecision(9)<<a; 输出: 123.456789
3) cout<<setprecision(6); 恢复默认格式(精度为6)
4) cout<< setiosflags(ios∷fixed); 输出: 123.456789
5) cout<<setiosflags(ios∷fixed)<<setprecision(8)<<a; 输出: 123.45678901
6) cout<<setiosflags(ios∷scientific)<<a; 输出: 1.234568e+02
7) cout<<setiosflags(ios∷scientific)<<setprecision(4)<<a; 输出: 1.2346e02