c - 在 printf 语句 C 的开头填充零

标签 c printf zero-padding

<分区>

我需要给一些值加 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);

您也可以使用它来提高精度。

参见例如this printf reference了解详情。

关于c - 在 printf 语句 C 的开头填充零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59152488/

相关文章:

c - 有没有更好的方法来缓解这个警告?

string - 如何 fmt.Printf 带有千位逗号的整数

tensorflow - keras.layers.Conv2D 的默认内核大小、零填充和步幅是多少?

javascript - 带有数字填充的 CSS 计数器

c - 即使在包含 <stdlib.h> 之后,'exit' 也会发出警告

c - 尝试通过节点时出现段错误

C 程序无法正常工作(集合、数组、循环)

c - C 链表的问题

c - 这个小的 printf 循环似乎不知从哪里发出了一个额外的字节,为什么?