鱼C论坛

 找回密码
 立即注册
查看: 2393|回复: 1

[技术交流] 输出流格式化

[复制链接]
发表于 2013-9-4 07:37:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1、输出流:从程序到外部的字节流,如到屏幕、到打印机、到文件等。
2、输出流格式化
注意:
①任何输出流均可以使用这些格式化成员函数。
②格式化只对调用中指定的那个流有效果。
3、常用输出控制
(1)输出流.precision(位数):设置输出信息需保留的有效位数,整数除外
cout.precision(3);
cout<<3.1415926<<endl; //显示结果为3.14
cout<<2.4<<endl; //显示结果为2.4
cout<<4443.66<<endl;//显示结果为4.44e+003
cout<<4<<endl;//显示结果为4
(2)输出流.width(域宽);设置下一项输出信息需占用多宽的字符位置
注意:
①仅对下一项输出信息有效(想每行效果一样,就多用几次)。
②当指定输出域宽大于所输出内容,默认是按右对齐显示的。如:
    cout.width(4);
   cout<<2<<endl;
   cout<<3<<endl;
输出内容如下:
   2
3
Pressany key to continue
(3)输出流.setf(标志值):设置输出流标志,指示以何种方式输出信息
①ios::fixed         设置浮点数以固定的小数位数显示
仅使用cout.setf(ios::fixed);,默认显示浮点数小数点后6位小数,整数除外
cout.setf(ios::fixed);
cout<<3.1415926<<endl; //显示结果为3.141593
cout<<2.4<<endl; //显示结果为2.400000
cout<<4443.66<<endl;//显示结果为443.660000
cout<<4<<endl;//显示结果为4
联合输出流.precision(位数);使用,可精确指定小数点后面的位数
cout.setf(ios::fixed);
cout.precision(3);
cout<<3.1415926<<endl; //显示结果为3.142
cout<<2.4<<endl; //显示结果为2.400
cout<<4443.66<<endl;//显示结果为443.660
cout<<4<<endl;//显示结果为4
②ios::scientific     使用科学计数法输出浮点数
和ios::fixed对应(相反),整数显示受不影响。
③ios::showpoint    显示浮点数的小数点和后面的0(如果小数点后是0)
cout.setf(ios::showpoint);
cout<<2.4<<endl; //显示结果为2.40000
④ios::showpos     在正数前在+号显示
cout.setf(ios::showpos);
cout<<2.3<<endl; //显示结果为+2.3
cout<<3<<endl; //显示结果为+3
⑤ios::left          输出数据左对齐
ios::right         输出数据右对齐
注意:和输出流.width(域宽);配合使用。
例:
    cout.width(4);
   cout.setf(ios::left);
   cout<<2<<3<<endl;//输出的2和3之间会用3个空格隔开
显示结果:
2   3
Pressany key to continue
(4)输出流.unsetf(标志值):取消设置的某个标志值。
注意:输出流.setf(标志值)对应。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-4 08:33:16 | 显示全部楼层
哈哈,  前排,学习下。  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 09:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表