Saltar al contenido principal
InicioTutorialesPython

Cómo redondear a 2 decimales en Python

Aprende a redondear un número a dos decimales en Python para mejorar la precisión utilizando técnicas como round(), format() y técnicas de formateo de cadenas.
Actualizado ago 2024  · 7 min leer

Redondear los números a dos decimales es una técnica importante en Python. Es especialmente útil en cálculos financieros, presentación de datos e informes científicos.

Python proporciona una serie de métodos para redondear con precisión. En este tutorial, te mostraré cómo redondear un número a dos decimales en Python utilizando funciones incorporadas, bibliotecas y métodos de formateo.

Si te estás iniciando como analista de datos, te recomiendo que sigas el curso de Introducción a Python de DataCamp para aprender los fundamentos de Python en la manipulación y transformación de datos. También encontrarás útil la Hoja de trucos de Python para principiantes como referencia rápida si necesitas un repaso de la sintaxis y las funciones de Python.

Cómo redondear un número a 2 decimales en Python

El método más sencillo para redondear un número a dos decimales en Python es utilizar la función incorporada round(), que es bastante directa. 

# Using the round() function to round a number to two decimal places
rounded_number = round(3.14159, 2)

print(rounded_number)
3.14

Comprender el redondeo y los decimales

Los decimales son las cifras que aparecen justo después del punto decimal en un número. Los decimales son importantes en un número porque determinan su precisión. Cuantos más decimales, más preciso es, y viceversa.

Redondear números se refiere a ajustar un número reduciendo el número de decimales. Esta técnica suele aplicarse para simplificar un número manteniendo la coherencia en todos los cálculos. Aun así, redondear un número con decimales específicos afecta a la precisión de los valores calculados, debido a la introducción de pequeños errores durante el redondeo.

Métodos para redondear a 2 decimales en Python

Python proporciona distintos métodos para redondear números a dos decimales. Los siguientes ejemplos explican detalladamente estas técnicas.

Redondea a 2 decimales utilizando la función round()

La función round() es la función incorporada en Python para redondear números en coma flotante al número especificado de decimales. Puedes especificar el número de decimales a redondear proporcionando un valor en el segundo argumento. El ejemplo siguiente imprime 34,15.

# Example number to be rounded
number = 34.14559

# Rounding the number to 2 decimal places
rounded_number = round(number, 2)

print(rounded_number) 
34.15

La función round() de Python utiliza "redondear la mitad a par" como modo de redondeo por defecto cuando omites el segundo argumento. Redondear la mitad a par (redondeo de los banqueros) es cuando un número está exactamente a mitad de camino entre dos enteros, se redondea al entero par más próximo. Esta técnica es útil porque puede ayudar a minimizar los errores de redondeo acumulados.

Redondea a 2 decimales utilizando técnicas de formato de cadena

Las técnicas de formateo de cadenas son útiles para redondear los números a dos decimales, sobre todo al mostrar el número en la salida.

Ten en cuenta que cuando utilizas técnicas de formato de cadena en Python para redondear un número, la salida redondeada se muestra como una cadena, pero el número original permanece inalterado. Si haces cuentas con el número original, los cálculos se basan en el valor no redondeado, lo que puede dar lugar a resultados sorprendentes.

Utilizar el operador %

El operador % ofrece un método tradicional de formatear números con dos decimales. El operador % permite crear cadenas formateadas insertando valores en marcadores de posición.

En el ejemplo siguiente, f indica el valor como un número de coma flotante, mientras que .2 especifica los decimales para redondear el número.

# Example number to be rounded
number = 3.14159

# Using the % operator to round to 2 decimal places
formatted_number = "%.2f" % number

print(formatted_number)
3.14

Utilizando str.format()

El método str.format() proporciona una forma más flexible de manejar técnicas de redondeo complejas. Como utiliza marcadores de posición con nombre, los desarrolladores suelen preferir este método al operador %. En el ejemplo siguiente, se utiliza :.2f entre las llaves para especificar que el número se redondea a dos decimales. El código imprimirá 3.14.

# Example number to be rounded
number = 3.14159

# Using str.format() to round to 2 decimal places
formatted_number = "{:.2f}".format(number)

print(formatted_number)
3.14

Utilizar cadenas f (Python 3.6+)

Las cadenas f se introdujeron en Python 3.6, y ofrecen una forma concisa y eficaz de dar formato a cadenas y números. Este método mejora la legibilidad y el mantenimiento del código al incrustar las expresiones directamente dentro de literales de cadena. El código siguiente imprime 14.68.

# Example number to be rounded
number = 14.67856

# Using f-strings to round to 2 decimal places
formatted_number = f"{number:.2f}"

print(formatted_number)
14.68

Utilizar la función format()

La función format() es otra buena opción para formatear cadenas. La función format() puede manejar varios tipos de datos, como flotantes, enteros y cadenas. El código siguiente imprime 345.69.

# Example number to be rounded
number = 345.68776

# Using format() to round to 2 decimal places
formatted_number = "{:.2f}".format(number)

print(formatted_number)
345.69

Redondea a 2 decimales con el módulo matemático

El módulo math no proporciona funciones que redondeen directamente los números a decimales específicos. Sin embargo, puedes combinar el módulo math y otra aritmética para redondear un número a dos decimales.

La función math.floor() se utiliza para redondear un número al entero más próximo. Para redondear un número a dos decimales, lo multiplicas por 100, aplicas la función math.floor() y lo divides por 100. El código siguiente imprime 15.43.

# Import math module
import math

# Example number to be rounded
number = 3.14159

# Using math.floor() to round down to 2 decimal places
rounded_down = math.floor(number * 100) / 100

print(rounded_down)
3.14

Del mismo modo, la función math.ceil() redondea un número al entero más próximo. Para redondear un número a dos decimales, multiplícalo por 100, aplica la función math.ceil() y divídelo por 100. El código siguiente imprime 3.15.

# Import the math module
import math

# Example number to be rounded
number = 3.14159

# Using math.ceil() to round up to 2 decimal places
rounded_up = math.ceil(number * 100) / 100

print(rounded_up)
3.15

Redondea a 2 decimales utilizando el módulo decimal

El módulo decimal de Python es útil para redondear números flotantes a decimales precisos utilizando el método .quantize(). En el ejemplo siguiente, establecemos la precisión como 0.01 para indicar que queremos redondear el número a dos decimales.

# Import the decimal module
from decimal import Decimal

# Example number to be rounded
number = Decimal("18.73869")

# Define the rounding precision to 2 decimal places
precision = Decimal('0.01')

# Using the quantize method with ROUND_UP to round the number up to 2 decimal places
rounded_number = number.quantize(precision)

print(rounded_number)
18.74

Si buscas un comportamiento específico de redondeo hacia arriba, consulta nuestro último tutorial sobre Cómo redondear un número hacia arriba en Python para saber más sobre el uso de los módulos math y decimal, y otras técnicas para asegurarte de que el número siempre se redondea hacia arriba, en lugar de hacia abajo. Si quieres comprender mejor la transformación de datos en general, sigue nuestra trayectoria profesional de Analista de Datos con Python para desarrollar tus capacidades analíticas.

Conclusión

Redondear los números a dos decimales es una técnica importante para mejorar la precisión en los cálculos financieros y científicos. En este artículo hemos tratado los distintos métodos para redondear números a dos decimales, incluyendo las funciones incorporadas, las técnicas de formateo de cadenas y el módulo math. Es importante comprender y seleccionar el método adecuado en función de los requisitos específicos, como la precisión y el estilo de formato. Te animo a que practiques mejor los distintos métodos utilizando diferentes ejemplos para comprender cuál es el que mejor se adapta a sus casos de uso.

Si quieres avanzar en tus conocimientos de Python, consulta nuestras pistas de habilidades Programación en Python y Fundamentos de Python, que ofrecen una guía completa para convertirte en un programador competente. Nuestro itinerario profesional de Desarrollador Python también está diseñado para ayudarte a mejorar tus competencias como desarrollador mientras aprendes estructuras de datos y algoritmos más avanzados.

Preguntas frecuentes

¿Cuál es la forma más sencilla de redondear un número a dos decimales en Python?

La forma más sencilla de redondear un número a dos decimales es utilizando la función incorporada round().

¿Por qué se redondea un número al entero más próximo cuando se utiliza la función round()?

El método por defecto de la función round() es redondear la mitad a par. Para redondear un número a dos decimales, debes proporcionar el segundo argumento como 2 en la función, es decir, round(3.14159, 2).

¿Cómo se utiliza la función format() para redondear un número a dos decimales?

La función format() se utiliza para redondear un número al número especificado de decimales y mostrarlo dentro de una cadena formateada.

¿Qué es la mitad redonda del par?

El método de redondeo medio a par o redondeo de los banqueros consiste en redondear un número exactamente a la mitad entre dos enteros al entero par más próximo.

¿El módulo matemático permite redondear un número a dos decimales en Python?

Sólo puedes utilizar las funciones math.floor() y math.ceil() con otros aritméticos para redondear un número a un número determinado de decimales.

Temas

Aprende Python con DataCamp

Course

Introduction to Python

4 hr
5.7M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
See DetailsRight Arrow
Start Course
Ver másRight Arrow
Relacionado
Python 2 vs 3

blog

Python 2 frente a 3: Todo lo que necesitas saber

En este artículo, trataremos las principales diferencias entre Python 2 y 3, cuál es el mejor y por cuál deberías decantarte para comenzar tu andadura en la ciencia de datos
Javier Canales Luna's photo

Javier Canales Luna

6 min

tutorial

Tutorial de Python String format()

Aprende a formatear cadenas en Python.
DataCamp Team's photo

DataCamp Team

5 min

tutorial

Formato f-string en Python

Conozca la técnica de formateo f-string en Python 3.6. En este tutorial, verá qué ventajas ofrece y repasará algunos casos de uso de ejemplo.
Hafeezul Kareem Shaik's photo

Hafeezul Kareem Shaik

5 min

tutorial

Tutorial de funciones de Python

Un tutorial sobre funciones en Python que cubre cómo escribir funciones, cómo invocarlas y mucho más.
Karlijn Willems's photo

Karlijn Willems

14 min

tutorial

21 herramientas esenciales de Python

Conozca las herramientas esenciales de Python para el desarrollo de software, raspado y desarrollo web, análisis y visualización de datos y aprendizaje automático.
Abid Ali Awan's photo

Abid Ali Awan

6 min

tutorial

Tutorial de cadenas en Python

En este tutorial, aprenderás todo sobre las cadenas de Python: trocearlas y encadenarlas, manipularlas y darles formato con la clase Formatter, cadenas f, plantillas y ¡mucho más!
Sejal Jaiswal's photo

Sejal Jaiswal

16 min

See MoreSee More