Saltar al contenido

¿Cómo rellenar una cadena numérica con ceros a la derecha en Python?

Solución:

Ver Especificación de formato Mini-idioma:

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], de hecho, 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.

Sugerencia: la cuerda 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 incluso más fácil:

In : acc.ljust(9, '0')
Out: '991000000'
¡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 *