iomanip头
#include <iomanip>主要是输入输出控制。
Dec 十进制;
hex 十六进制;
oct 八进制;
setw 设置宽度;
setfill 设置填充值;
setbase 将数字转换为n进制;
setprecision 设置输出的位数;
setiosflags 设置相关的标志表示(如下)。
resetiosflags 清除指定的标志。
setiosflags(ios::fixed) 固定的浮点显示
setiosflags(ios::scientific) 指数表示
setiosflags(ios::left) 左对齐
setiosflags(ios::right) 右对齐
setiosflags(ios::skipws) 忽略前导空白
setiosflags(ios::uppercase) 16进制数大写输出
setiosflags(ios::lowercase) 16进制小写输出
setiosflags(ios::showpoint) 强制显示小数点
setiosflags(ios::showpos) 强制显示符号
#include <iostream> #include <iomanip> using namespace std; int main(void) { int a=20; cout<<dec<<a<<endl; //20 cout<<hex<<a<<endl; //14 cout<<oct<<a<<endl; //24 int b=30; cout<<setw(5)<<a<<setw(5)<<b<<endl; //___24___30 此处的a依然为8进制。 cout<<setfill('0')<<setw(5)<<a<<setfill('0')<<setw(5)<<b<<endl;//0002400030 cout<<setiosflags(ios::left)<<setfill('0')<<setw(5)<<a<<setfill('0')<<setw(5)<<b<<endl;//2400030000 cout<<setbase(16)<<b<<endl; //1e cout<<setprecision(5)<<setbase(10)<<30.111119<<endl; //30.111 cout<<setprecision(5)<<setiosflags(ios::scientific)<<30.111119<<endl;//3.01111e+001 cout<<setprecision(5)<<30.111119<<endl;//3.01111e+001 cout<<resetiosflags(ios::scientific)<<30.111119<<endl;//30.111 }
人生无处不代码,没有代码不人生。