DEV Community

GoyesDev
GoyesDev

Posted on

Diferencia entre Double y Decimal

Tanto Double como Decimal son tipos de datos en Swift para representar números con coma flotante

Double

  • Tipo binario de punto flotante (IEEE 754).
  • Muy rápido para cálculos científicos, trigonometría, gráficos, física, etc.
  • Precisión aproximada: ~15–16 dígitos decimales.
  • Problema: no puede representar exactamente ciertos decimales (e.g. 0.1, 0.2) porque internamente trabaja en base 2.

Decimal

  • Tipo decimal de punto fijo, pensado para cálculos financieros y monetarios.
  • Representa los números como base 10, por lo que valores como 0.1 o 0.2 se representan exactamente.
  • Más preciso en cálculos contables (dinero, impuestos, tasas de interés).
  • Más lento que Double porque es un wrapper de NSDecimalNumber (Foundation) y no está optimizado con instrucciones de hardware como Double.

¿Cuándo usar cada uno?

  • Usar Double para cálculos científicos, rápido, no importa un pequeño error de redondeo. Usar Decimal para manejar dinero donde necesito resultados exactos en operaciones aritméticas en base 10.

Top comments (0)