如何在C中将数字显示为两位数?

Ade*_*war 41 c digit

对于C编程.如何将数字显示为00,01,02,03,而不是0,1,2,3.我只需要在数字前需要0,直到10.

我知道当你做小数时你可以做"%.2f"等但是对于整数反过来怎么样?

这是我正在使用的......**

printf("Please enter the hours: ");
    scanf ("%d",&hour);
printf("Please enter the minutes: ");
    scanf ("%d",&minute);
printf("Please enter the seconds: ");
    scanf ("%d",&second);
printf("%d : %d : %d\n", hour, minute, second);
Run Code Online (Sandbox Code Playgroud)

}

我需要将数字显示为00:00:00

??

pax*_*blo 58

%02d如果要将前导零填充到两个空格,则需要使用:

printf ("%02d : %02d : %02d\n", hour, minute, second);
Run Code Online (Sandbox Code Playgroud)

例如,参见以下完整程序:

#include <stdio.h>
int main (void) {
    int hh = 3, mm = 1, ss = 4, dd = 159;
    printf ("Time is %02d:%02d:%02d.%06d\n", hh, mm, ss, dd);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

哪个输出:

Time is 03:01:04.000159
Run Code Online (Sandbox Code Playgroud)

请注意,该%02d装置的两个字符的最小宽度,因此将输出123 作为 123.如果您的值是有效的小时,分​​钟和秒,这应该不是问题,但值得记住,因为许多没有经验的编码员似乎犯了错误,2是某种程度上的最小最大长度.

  • 调整最大长度的解决方案是什么? (2认同)

dre*_*lax 34

使用以下格式:%02d代替.所述0垫装置使用零的字段和2该字段是宽两个字符,所以对于需要不到2个字符的任何数字显示装置,它将用0填充.


小智 7

"%.2d"是应该使用的。规则基本上是;

"%<minimum-characters-overall>.<minimum-digits>d"

例如:

"%6.3d"总共将打印 6 个字符和至少 3 个数字。