C++ 输出格式控制
需包含头文件:
浮点数精度、域宽、填充
| 操作符 | 功能 |
|---|---|
| right-aligned | right-aligned |
| setprecision(int n) | 设置以n表示的数值精度 |
| setw(int n) | 设置以n表示的域宽 |
| setfill(char c) | 设置以c表示的填充字符 |
输出格式
| 操作符 | 功能 |
|---|---|
| oct | 以八进制格式输出数据 |
| dec | 以十进制格式输出数据 |
| hex | 以十六进制格式输出数据 |
| endl | 插入换行符并刷新输出缓冲流 |
| uppercase | 在以十六进制格式输出时字母大写 |
| skipws | 在输出时跳过空白 |
| flush | 刷新输出缓冲流 |
| left | 左对齐 |
| right | 右对齐 |
| scientific | 以科学计数法输出 |
| fixed | 以定点数方式输出 |
| showbase | 输出前缀: 八进制0;十六进制0x |
| showpoint | 在输出浮点数时带小数点 |
| showpos | 在输出正整数时带“+” |
示例
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char *argv[])
{
double d = 3.1415926;
cout << "默认精度:" << d << endl;
cout << "精度(3):" << setprecision(3) << d << endl;
cout << "域宽(5):" << setw(5) << d << endl;
cout << "域宽(10),填充字符(*):" << setw(10) << setfill('*') << d << endl;
unsigned int ui = 32;
cout << "八进制:" << oct << ui << endl;
cout << "十进制:" << dec << ui << endl;
cout << "十六进制:" << hex << ui << endl;
cout << "十六进制大写:" << hex << uppercase << ui << endl;
cout << "带前缀:" << hex << showbase << ui << endl;
int i = 32;
cout << "带+号:" << dec << showpos << i << endl;
return 0;
}
运行效果:



















