El origen de este problema, con el que todos lidiamos diariamente, está en la representación interna de los números en el ordenador, que no está basada en decimal sino en binario. De esa cuenta, resulta imposible almacenar ciertos valores o resultan numerillos "fantasma" después de realizar cálculos, normalmente muy pequeños para causar diferencias perceptibles por los usuarios, pero si importantes si se están evaluando igualdades o desigualdades de números, o realizando sumatorias de millones de ellos (donde un 0.0000007 en cada uno se convertiría en 0.07, que ya se nota
)
Todos los programas que he desarrollado, utilizan funciones de redondeo para aliviar estos problemas. Por ejemplo, RoundTo de la unidad math.
Hasta luego.