Mostrar número con ceros a la izquierda [duplicado]

Resuelto ashchristopher asked hace 16 años • 19 respuestas

¿Cómo muestro un cero a la izquierda para todos los números con menos de dos dígitos?

1    →  01
10   →  10
100  →  100
ashchristopher avatar Sep 26 '08 01:09 ashchristopher
Aceptado

En Python 2 (y Python 3) puedes hacer:

number = 1
print("%02d" % (number,))

Básicamente, % es como printfo sprintf(ver documentos ).


Para Python 3.+, también se puede lograr el mismo comportamiento con format:

number = 1
print("{:02d}".format(number))

Para Python 3.6+ se puede lograr el mismo comportamiento con f-strings :

number = 1
print(f"{number:02d}")
Jack M. avatar Sep 25 '2008 18:09 Jack M.

Puedes usar str.zfill:

print(str(1).zfill(2))
print(str(10).zfill(2))
print(str(100).zfill(2))

huellas dactilares:

01
10
100
Datageek avatar Jul 30 '2010 11:07 Datageek

En Python 2.6+ y 3.0+, usarías el format()método de cadena:

for i in (1, 10, 100):
    print('{num:02d}'.format(num=i))

o usando el incorporado (para un solo número):

print(format(i, '02d'))

Consulte la documentación de PEP-3101 para conocer las nuevas funciones de formato.

Ber avatar Sep 25 '2008 18:09 Ber
print('{:02}'.format(1))
print('{:02}'.format(10))
print('{:02}'.format(100))

huellas dactilares:

01
10
100
Kresimir avatar Nov 13 '2013 19:11 Kresimir