C++ 输出格式控制

一、头文件

width和fill为成员函数,在iostream中已声明
setw、setprecision、setiosflags等操纵符,在iomanip中

二、输出宽度及填充符

调整输出宽度,可通过在流中放入setw操纵符或调用width成员函数
setw和width仅影响紧随其后的域(endl不算)。但其他流格式选项保持有效直到发生改变,如fill或setfill

cout.fill('0');		//或cout<<setfill('0');
cout<<setw(6)<<"111";
cout.width(10);
cout<<endl<<"222";	//结果为图1
//改为cout<<"\n"<<"222"; 则结果为图2

输出结果:1.在这里插入图片描述 2.在这里插入图片描述

三、对齐方式

默认为右对齐,使用setiosflags(ios::left)改变
影响持久有效,直到使用resetiosflags重新恢复为止

cout<<setfill('*')<<setiosflags(ios::left);
cout<<setw(6)<<"111"<<endl;
cout.width(10);
cout<<""<<"222"<<endl;
cout<<resetiosflags(ios::right)<<333;

输出结果:在这里插入图片描述
宽度为10的域输出为空,所以填充10个*

setiosflags的参数另有ios::fixed、ios::scientific(以定点格式、科学格式显示浮点数值)等

四、精度

若设置了ios::fixed或ios::scientific,则精度值确定了小数点之后的小数位数;若都未设置,则精度制确定了总的有效位数

浮点数输出精度默认值为6,如3466.9768显示为3499.98
可使用setprecision操纵符改变精度
影响持久有效

cout<<setprecision(4);
cout<<123456<<" "<<123.4<<endl;	//不小于,不变
cout<<123.456<<" "<<12345.6<<endl;

输出结果:在这里插入图片描述
若为整数或原本精度不小于设置精度,则不变
若精度缩小,则四舍五入,且若保留至整数位,则显示为科学计数法

五、进制

影响持久有效

cout<<dec<<26<<" "<<27<<" "<<175<<endl;
cout<<oct<<26<<" "<<27<<" "<<175<<endl;
cout<<hex<<26<<" "<<27<<" "<<175<<endl;

输出结果:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值