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 que1.5
se convertiría en2
.
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.
y si quisiera por ejemplo redondear pero dentro de un print ejemplo: print (f” redondeando 2 decimales : round{estadístico},2 “)? osea tengo una lista [] a la cual se sacó un estadistico, y en el print quiero imprimí el resultado del estadistico pero redondeando dentro del print
Tal vez print(f”Redondeado es {round(valor, 2)}”)