Ir al contenido
Números y dinero
-
Números y dinero
Redondeo: bancario, el caso 1.005 y el IVA por línea
Curso de números 3: round(2.5) en 9 herramientas dio 2 o 3, -2.5 se dividió en tres, 1.005 quedó en 1.00 o 1.01 y el IVA por línea no coincidió con el del total.
-
Números y dinero
Formatear y parsear números: coma decimal y locales
Curso de números 5: "1,5" se volvió 15 en .NET y Java, atof con es_ES leyó 1.5 como 15, y es-ES escribió 1234 o 1.234 según la herramienta. Todo ejecutado.
-
Números y dinero
Desbordamiento de enteros, BigInt y límites seguros
INT_MAX + 1 en C, Java, C#, Swift, Dart, PHP y Python; por qué JSON.parse cambia IDs de 19 dígitos, el arreglo con strings o BigInt y los límites de SQLite.
-
Números y dinero
Error al sumar floats, NaN y -0.0, medidos
Curso de números 6: sumar 10^7 doubles se desvió 396 ulps, sum() de Python 3.12 fue exacto, -ffast-math borró Kahan y volvió 0/0 en 1, y NaN rompió el orden.
-
Números y dinero
Por qué 0.1 + 0.2 no da 0.3: punto flotante básico
0.1 + 0.2 en nueve lenguajes: el valor exacto de un double, por qué print oculta el error, cómo comparar con tolerancia y el IVA que pierde un centavo.
-
Números y dinero
Dinero en código: centavos enteros o tipos decimales
Curso de números 4: int(19.99*100) dio 1998, BigDecimal 2.0 != 2.00, bcmul perdió los centavos, repartir redondeando falló en 32% y Decimal costó de 2.7x a 21x.
↑