|
Sacto. Los números reales tienen lo que se denomina error relativo. Que es esa pequeña diferencia entre lo que uno quiere "meter" en la variable y lo que la variable realmente puede almacenar. Es por la representación interna.
Siempre hay que tener mucho cuidado con los reales. Para salidas al usuario, siempre formatear con menos decimales, o redondear. Para comprar entre sí, usar una máscara, un épsilon que suelen llamarle. Nunca hagas "if num1 = num2 then" porque vas muerto, siempre es mejor hacer algo como "if Abs(num1 - num2) < Epsilon then"
No recuerdo ahora, pero creo que ese épsilon ya está declarado en Delphi.
|