"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo eliminar los ceros finales de los números de punto flotante en Python?

¿Cómo eliminar los ceros finales de los números de punto flotante en Python?

Publicado el 2025-02-26
Navegar:716

How to Remove Trailing Zeros from Floating-Point Numbers in Python?

Eliminación de ceros de salida del formateo de flotación

al mostrar números de punto flotante, a menudo es deseable eliminar cualquier ceros de salida para lograr un más conciso representación. Este artículo explora cómo formatear flotadores en Python sin estos ceros innecesarios.

El especificador de formato %g

para eliminar los ceros de final especificador. Este especificador asegura que:

  • ceros de salida en la parte significativa (no cero) del número se eliminan.
  • el punto decimal se omite si no hay dígitos restantes después de su .

Ejemplo:

>>> print('%g' % 3.140)
3.14

con python 2.6

en Python 2.6 y posterior, los métodos de formato alternativo están disponibles:

  • con el .format ( ) Método:
>>> '{0:g}'.format(3.140)
3.14
  • con F-Strings (Python 3.6):
>>> f'{3.140:g}'
3.14

explicación

según la documentación de Python para los especificadores de formato (), el especificador de formato %g se define como sigue:

"Eliminar" ceros de arrastre insignificantes y el punto decimal si no hay dígitos restantes siguiendo It. "

Este comportamiento se alinea con el resultado deseado de eliminar ceros de final para una representación flotante más compacta.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3