una - ¿Cómo hacer que los números se muestren como dos dígitos en C?
suma de n numeros en c++ con while (2)
Para la programación en C. ¿Cómo consigo que los números se muestren como 00, 01, 02, 03, en lugar de 0, 1, 2, 3. Solo necesito 0 antes del número hasta 10?
Sé que cuando haces decimales puedes hacer "% .2f", etc., pero ¿qué ocurre al revés para los enteros?
esto es lo que estoy usando ... **
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);
}
Necesito los números para mostrar como 00: 00: 00
??
Utilice el formato: %02d
en %02d
lugar. El 0
significa rellenar el campo con ceros y el 2
significa que el campo tiene dos caracteres de ancho, por lo que para cualquier número que tome menos de 2 caracteres, se rellenará con un 0.
%02d
usar %02d
si desea que los ceros %02d
se %02d
con dos espacios:
printf ("%02d : %02d : %02d/n", hour, minute, second);
Vea por ejemplo el siguiente programa completo:
#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;
}
que produce:
Time is 03:01:04.000159
Tenga en cuenta que el %02d
significa un ancho mínimo de dos caracteres, por lo que generaría 123 como 123
. Eso no debería ser un problema si sus valores son horas, minutos y segundos válidos, pero vale la pena tenerlos en cuenta porque muchos programadores inexpertos parecen cometer el error de que 2 es de alguna manera la longitud mínima y máxima.