Hoy veremos cómo redondear números flotantes o float en Python de 3 maneras: redondear hacia abajo (entero anterior más cercano), redondear hacia arriba (entero siguiente más cercano) o redondear según la parte fraccionaria.

Por otro lado, te mostraré cómo redondear un número a 2 decimales, a través de un ejemplo.

Por ejemplo, tenemos el número 1.4

  • Si lo redondeamos hacia abajo se convierte en 1
  • En caso de ser redondeado hacia arriba se convierte en 2
  • Finalmente, si se redondea basado en la parte decimal, se convierte en 1; ya que solo si fuera mayor o igual que 1.5 se convertiría en 2.

Python ofrece las 3 maneras de hacerlo usando las funciones floor, round y ceil.

Redondear números con Python

Vamos a hacerlo rápido. Para redondear un número basado en su parte decimal (sube si es mayor o igual que .5) se usa a round.

En cambio, para redondear hacia abajo se usa floor y para redondear hacia arriba se usa ceil. Estas dos últimas funciones están dentro de math, por lo que hay que importarlas.

"""
  3 maneras de redondear números en Python

  @author parzibyte
"""
# Si usas ceil y floor importa a math
import math

numero = 1.4
redondeado = round(numero)
redondeado_abajo = math.floor(numero)
redondeado_arriba = math.ceil(numero)
print("Redondeado con round: {}".format(redondeado))
print("Redondeado con floor (hacia abajo): {}".format(redondeado_abajo))
print("Redondeado con ceil (hacia arriba): {}".format(redondeado_arriba))

# Otro ejemplo con round
numero = 1.5
redondeado = round(numero)
print("round(1.5): {}".format(redondeado))

No te confundas con la función round. Si la parte fraccionaria es mayor o igual que la mitad, se irá hacia arriba. Si no, hacia abajo.

Por cierto, en el ejemplo probamos con el número 1.4, pero puede ser cualquier número.

Redondear a 2 decimales

Si quieres redondear a 2, 3, 4 o más decimales, pasa un segundo argumento a la función round. Por ejemplo, si quieres redondear a 2 decimales con Python, sería:

# https://parzibyte.me/blog/
numero = 15.85489498987
redondeado = round(numero, 2)
print(redondeado)
"""
Salida: 
15.85
"""

Fíjate que el segundo argumento que se pasa a round es 2, para redondear a 2 decimales.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto