想要实现格式化输出,C++中的cout对象则使用格式控制符(操作流算子)或者成员函数进行控制
头文件
#include<iostream>
#include<iomanip>
设置输出宽度
setw
set width设置输出宽度
作用范围:仅对后续的<<生效一次。所以输出一次用一次
小数点也算一个宽度
若setw(n)后接的数值宽度大于n,则会全部输出
cout<<setw(10)<<132<<endl;
补位
setfill
作用范围:子设置之后的所有<<,直到下一个setfill才更改。所以用一次就好啦。
cout<<setw(10)<<setfill("*")<<43<<endl;//多余的空格用*补齐
对齐方式
left right
cout<<setw(12)<<left<<109<<endl//左对齐
保留有效位数
setprecision
可以设置输出精度。总有效位数,包括整数部分
默认情况下浮点类型的输出有效位数为6,且会自动四舍五入
作用范围:同setfill
float b = 231.2133234;
cout<<setprecision(4)<<big<<endl;//
保留小数
fixed
理解:它表示浮点输出应该以固定点或小数点表示法显示
作用范围:之后所有
cout<<fixed<<setprecision(4);//设置保留四位小数
float big = 12345;
cout<<big<<endl;//12345.0000
float middle = 1.2345
cout<<middle<<endl;
float mini = 0.12345;
cout<<mini<<endl;
向下取整,向上取整,四舍五入
头文件
#include<cmath>
#include<iostream>
#include<iomanip>
float a = 12.3456;
cout<<ceil(a)<<endl;//向上取整
cout<<floor(a)<<endl;//向下取整
cout<<round(a)<<endl;//四舍五入
/*不用函数实现*/
cout<<(int)a<<endl;//向下取整
cout<<(a>(int)a? (int)a+1:(int)a)<<endl;//向上取整
cout<<(int)(a+0.5)<<endl;//四舍五入
输出进制
设置整数
dec10进制
oct 8进制
hex 16进制

964

被折叠的 条评论
为什么被折叠?



