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

    //右侧补零

     //只针对小数可行,整数不行,因为整数无法在后面补零

  1.   float aa=0.25;
  2.   cout << setiosflags(ios::fixed) << setprecision(3) << aa << endl;//0.250

猜你喜欢

转载自www.cnblogs.com/li-lou/p/12333817.html