Cómo fijar decimales en Python: guía para todos los niveles

1. Introducción

En Python, al trabajar con números, hay muchas situaciones en las que es importante especificar la cantidad de decimales.
En particular, es útil cuando se desea formatear los resultados de cálculo para que sean más legibles, o cuando se necesita mantener una precisión exacta de los decimales en cálculos de montos, por ejemplo.
En este artículo, explicaremos los métodos para especificar la cantidad de decimales en Python, dirigidos a lectores desde principiantes hasta avanzados.

2. Método básico para especificar la cantidad de dígitos decimales en Python

2.1 round() método usando la función

El método más básico para especificar la cantidad de dígitos decimales en Python es utilizar la función round(). Esta función devuelve el valor redondeado al número de dígitos especificado.

Sintaxis

round(number, digits)
  • Número: Valor numérico que se desea redondear.
  • Dígitos: Cantidad de dígitos decimales (si se omite, se redondea al entero).

Ejemplo

# Redondear a 2 decimales
result = round(3.14159, 2)
print(result)  # Salida: 3.14

Precauciones

  • round() puede producir errores de redondeo al procesar números de punto flotante.
  • Si el número de dígitos especificado es negativo, se redondea la posición a la izquierda del punto decimal.

Ejemplo

# Redondear a la decena
result = round(123.456, -1)
print(result)  # Salida: 120

2.2 format() método usando la función y f-strings

Cuando se desea formatear un número como cadena, son útiles la función format() y los f-strings (cadenas literales formateadas).

Sintaxis de la función format()

"{:.dígitosf}".format(valor)

Ejemplo

# Formatear a 2 decimales
result = "{:.2f}".format(3.14159)
print(result)  # Salida: '3.14'

Ejemplo

Sintaxis de f-strings

f"{valor:.precisiónf}"

Ejemplo

# Usar f-strings
pi = 3.14159
result = f"{pi:.2f}"
print(result)  # Salida: '3.14'

Puntos clave para elegir

  • round() es adecuado para obtener resultados de cálculo, y format() y los f-strings son útiles al mostrar datos.
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

3. Cómo habilitar operaciones avanzadas de punto decimal

3.1 Decimal módulo para cálculos de alta precisión

La biblioteca estándar de Python decimal permite cálculos numéricos de alta precisión. Este módulo es particularmente útil en cálculos financieros y de ciencia y tecnología.

Uso básico

from decimal import Decimal, getcontext

# Establecer precisión de 3 dígitos después del punto decimal
getcontext().prec = 3
result = Decimal('1.2345') + Decimal('2.3456')
print(result)  # Salida: 3.58

Diferencias con round()

  • Decimal previene errores de punto flotante.
  • Al poder cambiar la precisión de forma dinámica, es posible controlar según usos específicos.

4. Ejemplos prácticos de especificar decimales

4.1 Aplicación en la visualización de montos

En los cálculos de montos, como los de divisas, es común fijar la cantidad de decimales a 2.

Ejemplo

price = 123.456
formatted_price = f"${price:.2f}"
print(formatted_price)  # Output: '$123.46'

4.2 Gestión de precisión en cálculos científicos

En los cálculos científicos y técnicos, a menudo se especifica el número de decimales para formatear los resultados.

Ejemplo

result = "{:.4e}".format(0.00012345)
print(result)  # Output: '1.2345e-04'

4.3 Formateo de visualización en análisis de datos

Al organizar la visualización de dataframes, especificar la cantidad de decimales es útil.

Ejemplo

import pandas as pd

data = {'A': [1.123456, 2.345678], 'B': [3.567890, 4.789012]}
df = pd.DataFrame(data)

# Especificar número de dígitos de visualización
pd.options.display.float_format = '{:.2f}'.format
print(df)

Salida

A     B
0  1.12  3.57
1  2.35  4.79
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

5. Precauciones al operar con decimales y cómo elegir el método óptimo

Error de punto flotante

En los cálculos de punto flotante habituales, pueden producirse errores diminutos.

Rendimiento

Si no se requieren cálculos de alta precisión, es más eficiente usar round() o format().

Recomendaciones

  • En cálculos financieros, use el módulo Decimal.
  • Para formatear la salida, aproveche format() o las f-strings.
  • Seleccione el método adecuado según el caso de uso práctico.

6. Resumen

En este artículo, explicamos detalladamente los métodos para especificar el número de decimales en Python.
round() y format(), técnicas básicas, hasta operaciones de alta precisión usando el módulo Decimal, presentamos una amplia gama de métodos.
Seleccione el método más adecuado según sus necesidades y aproveche Python de manera aún más eficiente.

RUNTEQ(ランテック)|超実戦型エンジニア育成スクール