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
Doubleporque es un wrapper deNSDecimalNumber(Foundation) y no está optimizado con instrucciones de hardware comoDouble.
¿Cuándo usar cada uno?
- Usar
Doublepara 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)