1.使用控制符控制输出格式
| 控制符 | 作用 |
| dec | 设置整数的基数为10 |
| hex | 设置整数的基数为16 |
| oct | 设置 整数的基数为8 |
| setbase(n) | 设置整数的基数为n(n只能是16,10,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::shipws) | 忽略前导的空格。 |
| setiosflags(ios::uppercase) | 在以科学计数法输出E和十六进制输出字母X时,以大写表示。 |
| setiosflags(ios::showpos) | 输出正数时,给出“+”号。 |
| resetiosflags | 终止已设置的输出格式状态,在括号中应指定内容。 |
2.用流对象的 成员控制输出格式
| 流成员函数 | 与之作用相同的控制符 | 作用 |
| precision(n) | setprecision(n) | 设置实 数的精度为n位。 |
| width(n) | setw(n) | 设置字段宽度为n位。 |
| fill(c) | setfill(c) | 设置填充字符c。 |
| setf( ) | setiosflags( ) | 设置输出格式状态,括号中应给出格式状态,内容与控制符setiosflags括号中内容相同。 |
| ubsetf( ) | resetiosflags( ) | 终止已设置的输出格式状态。 |
cout.width(10);
cout.setf(ios::hex);
3.设置格式状态的格式标志
| 格式标志 | 作用 |
| ios::left | 输出数据在本域宽范 围内左对齐 |
| ios::right | 输出数据在本域宽范围内右对齐 |
| ios::internal | 数值的符号位在域宽内左对齐,数值右对齐,中间由填充字符填充 |
| ios::dec | 设置整数的基数为10 |
| ios::oct | 设置整数的基数为8 |
| ios::hex | 设置整数的基数为16 |
| ios::showbase | 强制输出整数的基数(八进制以0打头,十六进制以0x打头) |
| ios::showpoint | 强制输出浮点数的小点和尾数0 |
| ios::uppercase | 在以科学计数法输出E和十六进制输出字母X时,以大写表示 |
| ios::showpos | 输出正数时,给出“+”号。 |
| ios::scientific | 设置浮点数以科学计数法(即指数形式)显示 |
| ios::fixed | 设置浮点数以固定的小数位数显示 |
| ios::unitbuf | 每次输出后刷新所有流 |
| ios::stdio | 每次输出后清除 stdout,stderr |
以小数形式,保留三位小数输出:
cout<<setprecision(3)<<setiosflags(ios::fixed)<<3.1415926<<endl;
原文:http://blog.csdn.net/virtualdesk/article/details/5355793