我们在学习输出数字的时候,经常会碰到许多让我们这些强迫症头疼的问题,也就是输出的整齐程度或者位数,那么这里给大家介绍几个属于iomanip
头文件的函数,可以很好的解决这些问题。
setprecision(X):
决定整个数字的位数,忽略小数点的位数
fixed:
与上面的一起使用,只关注小数点后面的位数
setw(X):
决定整个数字占有的区域,使不管几位数都能保持整齐
setfill("X"):
这个与上面的一起使用,使空白区域填充X
下面是几个使用的例子
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
float a[3][3];
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
a[i][j] = (i+j)/3.0*10;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
cout << fixed << setprecision(3) << a[i][j] << " ";//在接下来的例子里,我们只对这句进行改动
cout << endl;
}
system("pause");
return 0;
}
其运行结果如下
确实全部都是三位小数
当我们删除fixed
cout << setprecision(3) << a[i][j] << " ";
我们发现,0作为小数不保留,有小数只保留三个数字
当我们限制其为
cout << setw(8)<< a[i][j] << " ";
运行结果为
发现其排布很整齐
如果加入填充
cout << setw(8)<<setfill('0')<< a[i][j] << " ";
运行结果为
可见空白处被填充了0
不管上面的例子,如果我们想很整齐地输出这一组数据,不如组合其中三种
cout << fixed<<setprecision(3)<<setw(8)<< a[i][j] << " ";
这就非常养眼了
总之掌握了这四种函数,就能很好的输入输出数据了,大家加油学习!