我需要为某些值添加 0。
例如,如果数字是 14,我想打印出 00014。
但我不能只使用 %05d 因为我想要的填充数存储在一个变量中。
如果变量等于 6,我想打印 000014。如果它等于 3,我想打印 014,依此类推..
有什么快速的方法吗?
int length = 5;
int someValue = 14;
printf("%0%d%d",length,someValue);
这也行不通。
谢谢你。
我需要为某些值添加 0。
例如,如果数字是 14,我想打印出 00014。
但我不能只使用 %05d 因为我想要的填充数存储在一个变量中。
如果变量等于 6,我想打印 000014。如果它等于 3,我想打印 014,依此类推..
有什么快速的方法吗?
int length = 5;
int someValue = 14;
printf("%0%d%d",length,someValue);
这也行不通。
谢谢你。
您可以使用*
格式中的星号来告诉printf
从参数中获取字段宽度:
printf("%0*d", length, someValue);
您也可以将其用于精确度。
有关详细信息,请参见例如此printf
参考。
你可以试试
printf("%0*d",length,someValue);
其中字段宽度使用 标记*
,对应的值取自第一个参数。