printf格式输出数字,位数不够前面补0,适用与输出编号

From: http://blog.chinaunix.net/uid-26295753-id-2981750.html

printf格式输出:%[flags][width][.perc][F|N|h|l]type

用到了flags中的 0 (注意是零不是欧) ,其百科描述为:将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-)

width 即表示需要输出的位数。

  1. int a = 4;
  2. printf("%03d",a);

输出:004

也可以用 * 代替位数,在后面的参数列表中用变量控制输出位数;

  1. int a = 4;
  2. int n = 3;
  3. printf("%0*d",n,a);
输出:004

你可能感兴趣的:(C++)