La respuesta exacta te la podria dar uno de los maestros del foro... tiene algo que ver con el tratamiento interno del flotante dentro de la función floattostr. la documentación de esta función dice:
Cita:
|
The value is displayed to 15 digits of precision.
|
date cuenta que utilizando el mismo codigo que expones si lo depuras a = -0.7 pero la función de mensaje te muestra -0.6999999999999.
lo que puedes hacer es formatear la salida de texto de este flotante:
Código Delphi
[-]showmessage(FormatFloat('0.00', a));