← Volver

Cómo redondear un número decimal

La función incorporada round() toma como argumento un número de coma flotante y retorna un número entero según las reglas del redondeo.

>>> round(1.4)
1
>>> round(1.5)
2

Un segundo argumento indica la cantidad de dígitos después del punto respecto de la cual se debe realizar la aproximación.

>>> round(1.539, 2)
1.54

Nótese que cuando el último dígito es 5, la función no redondea hacia arriba sino que retorna el número par más próximo:

>>> round(1.5)
2
>>> round(2.5) # Generalmente se esperaría 3.
2

Si se quiere redondear hacia arriba, úsese en su lugar la siguiente función:

import math

# Fuente: https://stackoverflow.com/a/52617883/2116607
def redondear(n: float, decimals: int = 0) -> float:
expoN = n * 10 ** decimals
if abs(expoN) - abs(math.floor(expoN)) < 0.5:
return math.floor(expoN) / 10 ** decimals
return math.ceil(expoN) / 10 ** decimals

print(redondear(1.5)) # 2
print(redondear(2.5)) # 3
print(redondear(1.535, 2)) # 1.54


float operaciones-aritmeticas


👨‍💻 ¡Ya lanzamos el curso oficial de Recursos Python en Udemy! Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter en 2024.

🐍 También te puede interesar:


💡 Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.