io 流控制头文件, 主要是一些操纵用法如setw(int n),setprecision(int n)
#include < iomanip >
setw(n)用法: 通俗地讲就是预设宽度
#include<iostream>
#include <iomanip>
using namespace std;int main()
{cout << setw(5) << 255 << endl;return 0;
}
setfill(char c) 用法 : 就是在预设宽度中如果已存在没用完的宽度大小,则用设置的字符c填充
#include<iostream>
#include <iomanip>
using namespace std;int main()
{cout << setw(5) <<setfill('@')<< 255 << endl;return 0;
}
setbase(int n) : 将数字转换为 n 进制
代码如下:
#include<iostream>
#include <iomanip>
using namespace std;int main()
{cout << setbase(8) << setw(5) << 255 << endl;cout << setbase(10) << setw(5) << 255 << endl;cout << setbase(16) << 255 << endl;return 0;
}
setprecision用法
使用setprecision(n)可控制输出流显示浮点数的数字个数。C++默认的流输出数值有效位是6。
如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。
setiosflags(ios::fixed)是用定点方式表示实数。
如果与setiosflags(ios::scientific)合用, 可以控制指数表示法的小数位数。
setiosflags(ios::scientific)是用指数方式表示实数。
例如,下面的代码分别用浮点、定点和指数方式表示一个实数:
#include <iostream>
#include <iomanip>
using namespace std;int main()
{double a = 22.0 / 7;cout << a << endl;cout << setprecision(1) << a << endl;cout << setprecision(4) << a << endl;cout << setiosflags(ios::fixed);cout << setprecision(4) << a << endl;// cout<<setiosflags(ios::scientific);// cout<<setprecision(4)<<a<<endl;return 0;
}
#include <iostream>
#include <iomanip>
using namespace std;int main()
{double a = 22.0 / 7;cout << a << endl;cout << setprecision(1) << a << endl;cout << setprecision(4) << a << endl;/*cout << setiosflags(ios::fixed);cout << setprecision(4) << a << endl;
*/cout<<setiosflags(ios::scientific);cout<<setprecision(4)<<a<<endl;return 0;
}