2

我需要为某些值添加 0。

例如,如果数字是 14,我想打印出 00014。

但我不能只使用 %05d 因为我想要的填充数存储在一个变量中。

如果变量等于 6,我想打印 000014。如果它等于 3,我想打印 014,依此类推..

有什么快速的方法吗?

int length = 5;
int someValue = 14;
printf("%0%d%d",length,someValue);

这也行不通。

谢谢你。

4

2 回答 2

4

您可以使用*格式中的星号来告诉printf从参数中获取字段宽度:

printf("%0*d", length, someValue);

您也可以将其用于精确度。

有关详细信息,请参见例如printf参考

于 2019-12-03T08:01:19.573 回答
2

你可以试试

 printf("%0*d",length,someValue);

其中字段宽度使用 标记*,对应的值取自第一个参数。

于 2019-12-03T08:01:00.370 回答