概述
部分转载自:
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++中的格式化输出所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复