Ir al contenido principal

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 1 ago 2025  · 7 min de lectura

Redondear 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 integradas, bibliotecas y métodos de formato.

Si estás empezando como analista de datos, te recomiendo que realices el curso Introducción a Python de DataCamp para aprender los conceptos básicos de Python en la manipulación y transformación de datos. También te resultará útil la hoja de referencia rápida de Python para principiantes como referencia rápida si necesitas refrescar 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 integrada « round() », que es bastante sencilla. 

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

print(rounded_number)

# 3.14

Desarrolla habilidades de aprendizaje automático

Eleva tus habilidades de aprendizaje automático al nivel de producción.
Empieza a aprender gratis

Comprender el redondeo y los decimales

Los decimales son los números que aparecen justo después del punto decimal en un número. Los decimales son importantes en un número, ya que 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 se suele aplicar para simplificar un número y mantener la coherencia en los cálculos. Aun así, redondear un número a un número específico de decimales 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 diferentes métodos para redondear números a dos decimales. Los siguientes ejemplos proporcionan explicaciones detalladas de estas técnicas.

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

La función « round() » es una función integrada en Python que redondea los números flotantes al número de decimales especificado. Puedes especificar el número de decimales que se deben 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 a la mitad hacia el par» como modo de redondeo predeterminado cuando se omite el segundo argumento. El redondeo a la mitad (redondeo bancario) se produce cuando un número se encuentra exactamente a mitad de camino entre dos números enteros y se redondea al número entero par más cercano. Esta técnica es útil porque ayuda a minimizar los errores de redondeo acumulativos.

Redondea a 2 decimales utilizando técnicas de formato de cadenas.

Las técnicas de formato de cadenas son útiles para redondear números a dos decimales, especialmente cuando se muestra el número en la salida.

Ten en cuenta que cuando utilizas técnicas de formateo de cadenas en Python para redondear un número, el resultado redondeado se muestra como una cadena, pero el número original permanece sin cambios. Si haces cálculos con el número original, estos se basarán en el valor sin redondear, lo que puede dar lugar a resultados sorprendentes.

Uso del operador %

El operador « % » ofrece un método tradicional para 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 a los que se debe 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

Usando str.format()

El método str.format() proporciona una forma más flexible de manejar técnicas de redondeo complejas. Debido a que utiliza marcadores de posición con nombre, los programadores suelen preferir este método al operador %. En el ejemplo siguiente, se utiliza :.2f entre 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

Uso de 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 la facilidad de 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

Uso de 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, incluyendo 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 utilizando el módulo matemático.

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

La función math.floor() se utiliza para redondear un número hacia abajo al entero más cercano. Para redondear un número a dos decimales, multiplícalo por 100, aplica la función « math.floor() » (redondear) y divide 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

De manera similar, la función math.ceil() redondea un número al entero más cercano. Para redondear un número a dos decimales, multiplícalo por 100, aplica la función « math.ceil() » (redondear al número más cercano) y divide 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 de redondeo específico, consulta nuestro último tutorial sobre Cómo redondear un número en Python para obtener más información sobre el uso de los módulos « math » y « decimal », así como otras técnicas para asegurarte de que el número siempre se redondea hacia arriba, en lugar de hacia abajo. Si deseas comprender mejor la transformación de datos en general, consulta nuestro programa de carrera Analista de datos con Python para desarrollar tus habilidades analíticas.

Conclusión

Redondear números a dos decimales es una técnica importante para mejorar la precisión en cálculos financieros y científicos. En este artículo, hemos analizado los diferentes métodos para redondear números a dos decimales, incluyendo funciones integradas, técnicas de formato 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. Os animo a practicar los diferentes métodos con distintos ejemplos para comprender mejor cuál es el más adecuado para cada caso.

Si deseas mejorar tus habilidades en Python, consulta nuestros programas de habilidades Programación en Python y Fundamentos de Python, que ofrecen una guía completa para convertirte en un programador experto. Nuestro programa para desarrolladores de Python también está diseñado para ayudarte a mejorar tus habilidades como programador mientras aprendes estructuras de datos y algoritmos más avanzados.

Conviértete en un Científico ML

Domina las habilidades de Python para convertirte en un científico del aprendizaje automático

Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Creo artículos que simplifican la ciencia de los datos y la analítica, haciéndolos fáciles de entender y accesibles.

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 integrada « round() ».

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

El método predeterminado de la función « round() » (redondear a la mitad) es redondear a la mitad hacia el número par. Para redondear un número a dos decimales, debes proporcionar el segundo argumento como un 2 e 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 redondear a la mitad?

El método de redondeo a la mitad o redondeo bancario consiste en redondear un número exactamente a la mitad entre dos números enteros al número entero par más cercano.

¿El módulo math proporciona el redondeo de un número a dos decimales en Python?

Solo puedes utilizar las funciones math.floor() y math.ceil() con otras operaciones aritméticas para redondear un número a un número determinado de decimales.

Temas

Aprende Python con DataCamp

Curso

Introducción a Python

4 h
6.6M
Domina los fundamentos del análisis de datos con Python en cuatro horas y descubre sus paquetes más usados.
Ver detallesRight Arrow
Comienza el curso
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

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

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

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

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

Ver másVer más