<分区>
我需要给一些值加 0。
例如,如果数字是 14,我想打印出 00014。
但我不能只使用 %05d,因为我想要的填充数存储在一个变量中。
如果变量等于6,我想打印000014。如果它等于3,我想打印014等等。
有什么快速的方法吗?
int length = 5;
int someValue = 14;
printf("%0%d%d",length,someValue);
这也行不通。
谢谢。
标签 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/