Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Función round() en Python explicada con ejemplos prácticos

Función round() en Python explicada

La función integrada round() es una herramienta básica para el trabajo numérico en Python. Devuelve un valor redondeado a un número específico de decimales, por defecto al entero más cercano cuando no se proporciona precisión.

Sintaxis

round(numero, ndigits=None)

Valor de retorno

Cuando ndigits se omite, round() devuelve un int. Si se proporciona ndigits, el resultado es un float redondeado a esa precisión.

Reglas de redondeo

Por qué importa el redondeo: un ejemplo real

En los mercados financieros, el redondeo puede influir en millones de dólares en operaciones. Por ejemplo, la Bolsa de Vancouver en 1982 truncaba los precios de las operaciones a tres decimales, lo que provocaba una pérdida acumulada mensual de unos 25 puntos. Redondear en lugar de truncar produce resultados mucho más precisos.

# Ejemplo: Truncar vs. Redondear
import random

def truncar(num):
    return int(num * 1000) / 1000

arr = [random.uniform(0.01, 0.05) for _ in range(1_000_000)]

# Truncamiento
suma_truncar = 0
for val in arr:
    suma_truncar = truncar(suma_truncar + val)

# Redondeo
suma_redondear = 0
for val in arr:
    suma_redondear = round(suma_redondear + val, 3)

print("Suma truncada:", suma_truncar)
print("Suma redondeada:", suma_redondear)

El total truncado puede desviarse en cientos de unidades, mientras que el redondeo mantiene la desviación en una fracción de unidad.

Casos de uso comunes

Redondeo de números de punto flotante

# Redondeo básico
print(round(10.60))      # 11
print(round(10.40))      # 10
print(round(10.3456, 2)) # 10.35
print(round(10.3445, 2)) # 10.34

Redondeo de enteros

print(round(15))  # 15

Redondeo de números negativos

print(round(-2.8))  # -3
print(round(-1.5))  # -2

Redondeo de arrays NumPy

import numpy as np
arr = [-0.341111, 1.455098989, 4.232323, -0.3432326, 7.626632, 5.122323]
print(np.round(arr, 2))  # [-0.34 1.46 4.23 -0.34 7.63 5.12]

Uso del módulo Decimal para precisión

El módulo decimal ofrece control más fino sobre los modos de redondeo.

import decimal
num = decimal.Decimal('15.456')
print(num.quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_HALF_UP))  # 15.46

Conclusiones clave

python

  1. Sobrecarga de operadores en C++: Guía práctica con ejemplos de código
  2. Funciones en C++ Explicadas con Ejemplos de Código Prácticos
  3. Funciones lambda en Python: Guía práctica de funciones anónimas
  4. Generadores en Python: Iteración Eficiente y Casos de Uso Avanzados
  5. Explicación de Closures en Python: Cómo las Funciones Anidadas Capturan Variables
  6. Dominando Decoradores en Python: Mejora Funciones con Técnicas Expertas
  7. Función print() en Python: Guía Práctica con Ejemplos
  8. Domine el Método strip() de Python: Guía Completa y Ejemplos Prácticos
  9. Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos
  10. Domine el Formateo de Strings en Python con format(): Ejemplos Claros
  11. Domine el Método String.find() en Python: Sintaxis, Ejemplos y Alternativas