Python:
Redondeo de números

Cómo hacerlo:

Aquí tienes los detalles sobre cómo redondear números en Python:

# Redondear un número al entero más cercano
print(round(8.67))  # Salida: 9

# Redondear un número a un número especificado de lugares decimales
print(round(8.67, 1))  # Salida: 8.7

# Los números pares se redondean hacia abajo y los impares hacia arriba cuando están equidistantes
print(round(2.5))  # Salida: 2
print(round(3.5))  # Salida: 4

Análisis Profundo

En Python, round() no se limita a eliminar decimales. Históricamente, Python, como muchos otros lenguajes, sigue el “redondeo a la mitad hacia el par más cercano” o “redondeo del banquero”. Esto minimiza el error acumulativo en sumas o promedios, lo que importa en cálculos financieros.

Para alternativas, tienes math.floor() y math.ceil() del módulo math de Python, arrastrando números hacia abajo o hacia arriba al siguiente número entero. Pero si lo que buscas es precisión, quantize() del módulo decimal te permite especificar el comportamiento de redondeo.

Bajo el capó, round() maneja números binarios de punto flotante. Dado que algunos decimales no se pueden expresar exactamente en binario, podrías obtener sorpresas con cosas como round(2.675, 2) que no se convierte en 2.68 como se esperaba. Aquí entran decimal o fractions para alta precisión.

Ver También