部分转载自:
https://www.cnblogs.com/single-dont/p/10479514.html https://blog.csdn.net/beashaper_/article/details/79372420
在C++中,我们常用到的一些关于流操纵算子,来对我们程序中的输出结果进行格式化的输出。
| 操作符 | 含义 | 输入输出 |
|---|---|---|
| dec | 以十进制显示(默认设置) | I/O |
| hex | 以十六进制显示 | I/O |
| oct | 以八进制显示 | I/O |
| Setbase(int n) | 设置数制基数为n(=0,8,10,16),0表示默认(十进制) | |
| ws | 提取空白字符 | I |
| ends | 插入空字符 | O |
| endl | 插入换行符,然后刷新ostream缓冲区 | O |
| flush | ostream缓冲区 | O |
| resetiosflags(long) | 清除参数所指定的标志位 | |
| setiosflags(long) | 设置参数所指定的标志位 | |
| setfill(char) | 设置填充字符 | O |
| setprecision(int) | 设置浮点数输出的有效数字位数 | O |
| setw(int) | 设置输出数据项的域宽 | O |
| 流操纵算子 | 作 用 | |
|---|---|---|
| *dec | 以十进制形式输出整数 | 常用 |
| hex | 以十六进制形式输出整数 | |
| oct | 以八进制形式输出整数 | |
| fixed | 以普通小数形式输出浮点数 | |
| scientific | 以科学计数法形式输出浮点数 | |
| left | 左对齐,即在宽度不足时将填充字符添加到右边 | |
| *right | 右对齐,即在宽度不足时将填充字符添加到左边 | |
| setbase(b) | 设置输出整数时的进制,b=8、10 或 16 | |
| setw(w) | 指定输出宽度为 w 个字符,或输人字符串时读入 w 个字符 | |
| setfill(c) | 在指定输出宽度的情况下,输出的宽度不足时用字符 c 填充(默认情况是用空格填充) | |
| setprecision(n) | 设置输出浮点数的精度为 n。 在使用非 fixed 且非 scientific 方式输出的情况下,n 即为有效数字最多的位数,如果有效数字位数超过 n,则小数部分四舍五人,或自动变为科学计 数法输出并保留一共 n 位有效数字. 在使用 fixed 方式和 scientific 方式输出的情况下,n 是小数点后面应保留的位数 | |
测试代码如下:
#include <iostream>
#include <iomanip>
using namespace std;
/*
C++中的格式化输出:控制小数点、十六进制、八进制、二进制.......
*/
int main(int argc, char const *argv[])
{
cout<<"C++中的格式化输出"<<endl;
double a = 12.23467;
//保留指定位小数
cout << "double a = " << a << endl;
cout << "保留3位有效小数: " << fixed << setprecision(3) << a << endl;
cout << "保留4位有效小数: " << fixed << setprecision(4) << a << endl;
cout << "保留5位有效小数: " << fixed << setprecision(5) << a << endl;
int n = 104;
//指定进制
cout << "int n = " << n << endl;
cout << "十六进制: " << hex << n << endl;
cout << "十进制: " << dec << n << endl;
cout << "八进制: " << oct << n << endl;
return 0;
}
输出结果如图所示:

最后
以上就是传统大船最近收集整理的关于C++中的格式化输出的全部内容,更多相关C++中内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复