Tablora

Tablora · Biblioteca

Comprobar 0.10 más 0.20 con decimales exactos

Comprueba que 0.10 más 0.20 da exactamente 0.30 con aritmética decimal, para comparar un total indicado sin los artefactos visuales de la coma flotante.

Por qué 0.1 más 0.2 puede parecer incorrecto

Muchos programas guardan los números en coma flotante binaria, donde 0.1 y 0.2 no tienen una representación exacta. Súmalos y el resultado guardado queda un pelo por encima de 0.3; según el formato, verás 0.30000000000000004 o una comparación que dice que los valores no son iguales. En una conciliación, ese tipo de artefacto parece una discrepancia que en realidad no existe.

El comprobador de sumas decimales lo evita. Lee cada valor como una cadena decimal, lleva todos los valores al mismo número de decimales y los suma como números enteros, así que 0.10 y 0.20 suman exactamente 0.30.

Introducir las líneas

Resultado para 0.10 y 0.20

Con los valores 0.10 y 0.20 y un «Total esperado» de 0.30, el «Total calculado» es 0.30, la «Diferencia» es 0.00 y «Los totales coinciden» muestra Sí. El resultado mantiene dos decimales porque es el mayor número de decimales entre las entradas y el total esperado.

La «Diferencia» siempre es el total calculado menos el total esperado, así que una diferencia negativa significa que las líneas introducidas no llegan a la cifra indicada.

Preparar los valores de una tabla real

Los importes copiados de un extracto rara vez llegan en forma canónica. Pasa antes la columna por la herramienta de normalización, eligiendo los separadores decimal y de grupos que usa el documento, y luego copia los valores convertidos en el comprobador. Un valor que la herramienta de normalización dejó pendiente de revisión no está listo para la suma; resuélvelo antes de fiarte del total.

El comprobador hace aritmética exacta con lo que introduces y nada más. No convierte monedas, no aplica impuestos ni reglas de redondeo, y no te dice si has introducido todos los registros.

Entradas que el comprobador rechaza

Datos de entrada

Un valor por línea
0.10 0.20
Total esperado
0.30

Resultados

Total calculado
0.30
Diferencia
0.00
Los totales coinciden
Sí