在 printf 语句 C 的开头填充零
padding zeros at the beginning of a printf statement C
我需要给一些值加 0。
例如如果数字是14,我想打印出00014。
但我不能只使用 %05d,因为我想要的填充数存储在一个变量中。
如果变量等于6,我想打印000014。如果它等于3,我想打印014等等..
有什么快速的方法吗?
int length = 5;
int someValue = 14;
printf("%0%d%d",length,someValue);
这也不行。
谢谢。
你可以试试
printf("%0*d",length,someValue);
其中字段宽度使用 *
标记,相应的值取自第一个参数。
您可以在格式中使用星号 *
来告诉 printf
从参数中获取字段宽度:
printf("%0*d", length, someValue);
您也可以使用它来提高精度。
参见例如this printf
reference 了解详情。
我需要给一些值加 0。
例如如果数字是14,我想打印出00014。
但我不能只使用 %05d,因为我想要的填充数存储在一个变量中。
如果变量等于6,我想打印000014。如果它等于3,我想打印014等等..
有什么快速的方法吗?
int length = 5;
int someValue = 14;
printf("%0%d%d",length,someValue);
这也不行。
谢谢。
你可以试试
printf("%0*d",length,someValue);
其中字段宽度使用 *
标记,相应的值取自第一个参数。
您可以在格式中使用星号 *
来告诉 printf
从参数中获取字段宽度:
printf("%0*d", length, someValue);
您也可以使用它来提高精度。
参见例如this printf
reference 了解详情。