Saltar al contenido

Cómo rellenar un número string con ceros a la derecha en Python?

Si encuentras algún fallo en tu código o proyecto, recuerda probar siempre en un ambiente de testing antes aplicar el código al trabajo final.

Solución:

Consulte Minilenguaje de especificación de formato:

In [1]: ':<08d'.format(190)
Out[1]: '19000000'

In [2]: ':>08d'.format(190)
Out[2]: '00000190'

Como quizás una alternativa más portátil [1] y eficiente [2]en realidad solo puedes usar str.ljust.

In [2]: '190'.ljust(8, '0')
Out[2]: '19000000'

In [3]: str.ljust?
Docstring:
S.ljust(width[, fillchar]) -> str

Return S left-justified in a Unicode string of length width. Padding is
done using the specified fill character (default is a space).
Type:      method_descriptor

[1] El formato no está presente en las versiones antiguas de Python. El especificador de formato se agregó desde Python 3.0 (ver PEP 3101) y Python 2.6.

[2] invertir dos veces es una operación costosa.

Pista: El string se puede invertir dos veces: antes y después de usar el zfill método:

In : acc = '991000'

In : acc[::-1].zfill(9)[::-1]
Out: '991000000'

O aún más fácil:

In : acc.ljust(9, '0')
Out: '991000000'

valoraciones y reseñas

Si tienes algún problema y disposición de reformar nuestro reseña te invitamos escribir un paráfrasis y con mucho gusto lo leeremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *