C++ cout 格式化输出方法

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)   强制显示符号

 

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

 

posted @ 2016-08-07 00:26  SBSOI  阅读(15629)  评论(0编辑  收藏  举报