C++ cout 格式化输出方法

时间:2022-04-25 07:20:06

C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢...?

iomanip是I/O流控制头文件,就像printf的格式化输出一样。

以下是一些常用的:

dec 置基数为10 相当于"%d"
hex 置基数为16 相当于"%X"
oct 置基数为8 相当于"%o"
setfill(c) 设填充字符为c
setprecision(n)   设显示小数精度为n位
setw(n) 设域宽为n个字符
setioflags(ios::fixed)   固定的浮点显示
setioflags(ios::scientific) 指数表示
setiosflags(ios::left) 左对齐
setiosflags(ios::right) 右对齐
setiosflags(ios::skipws 忽略前导空白
setiosflags(ios::uppercase) 16进制数大写输出
setiosflags(ios::lowercase) 16进制小写输出
setiosflags(ios::showpoint) 强制显示小数点
setiosflags(ios::showpos)   强制显示符号

 #include<iostream>
#include <iomanip>
using namespace std;
double d=11.23456;
int main()
{
cout<<d<<endl;  //直接输出只能输出6位数,包括整数部分和小数部分
cout<<setprecision()<<d<<endl;        //精度为3,输出3位数
cout<<setiosflags(ios::fixed)<<d<<endl;          //精度为3,定点输出,输出3位小数
cout<<setiosflags(ios::fixed)<<setprecision()<<d<<endl;//位数不够,末尾添0
return ;
}