cout.setf()

cout用来实现格式输出,类似于C语言中通过printf()。

cout.setf()的作用是通过设置格式标志来控制输出形式,如,其中ios_base::fixed表示:用正常的记数方法显示浮点数(与科学计数法相对应);ios_base::floatfield表示小数点后保留6位小数。

setf()函数有两个原型:

fmtflags setf(fmtflage) //第一原型
fmtflags setf(fmtflags, fmtflags)  //第二原型

原型一举例:

cout.setf(ios_base::showpos);
cout << 66 << endl;
//输出: +66

常见的标志:

boolalpha    可以使用单词”true”和”false”进行输入/输出的布尔值.
oct    用八进制格式显示数值.
dec    用十进制格式显示数值.
hex    用十六进制格式显示数值.
left    输出调整为左对齐.
right    输出调整为右对齐.
scientific    用科学记数法显示浮点数.
fixed    用正常的记数方法显示浮点数(与科学计数法相对应).
showbase    输出时显示所有数值的基数.
showpoint    显示小数点和额外的零,即使不需要.
showpos    在非负数值前面显示”+(正号)”.
skipws    当从一个流进行读取时,跳过空白字符(spaces, tabs, newlines).
unitbuf    在每次插入以后,清空缓冲区.
internal    将填充字符回到符号和数值之间.
uppercase    以大写的形式显示科学记数法中的”e”和十六进制格式的”x”.

原型二: 
第二原型包含两个参数,第一个参数和第一原型里的参数一样,第二个参数指出要清除第一参数中的哪些位。

原文地址:https://www.cnblogs.com/enki-fang/p/9312103.html