c++ cout输出不足位补0 setw、setfill
头文件:<iomanip>
函数:setw(int n)
函数:setfill(char c)
cout<<setw(8)<<setfill('0')<<123<<endl;
输出:00000123
C语言
printf("%08d \n",123);
输出:00000123
在C++中setw(int n)用来控制输出间隔
·一般setw(int n)默认输出空格间隔,输出n-1空格间隔
例如:
cout << ‘’ << setw(4) << ‘/’ << endl;
注意事项:
·设置域宽的时候应该填入整数,设置填充字符的时候应该填入字符。
·对一个要输出的内容同时设置域宽和 填充字符,但是设置好的属性也对下一个输出的内容有效,
例如,cout << setw(10) << ‘a’ <<‘b’<<endl;'a’会被算在那10个间隔当中,而对‘b’不起作用。也就是说,setw()函数会把set()后面的一个字符算作其中,
·setw和setfill 被称为输出控制符,被包含在iomanip头文件中,使用时记得include。
//左侧补零
//只针对整数可行,因为没有浮点数左侧补零这种写法 如05.1
int c = 12, d = 34;
cout << setw(3) << setfill('0') << c << " " << setw(3) << setfill('0') << d << endl;//012 034
//右侧补零
//只针对小数可行,整数不行,因为整数无法在后面补零
-
float aa=0.25;
-
cout << setiosflags(ios::fixed) << setprecision(3) << aa << endl;//0.250