No serviría de nada. No se perdería definición en Delphi, pero al guardar en la base de datos, es cuando se produce el fallo (porque es inherente al tipo de datos double precision o Float en dialecto
1).
Bien es verdad, que teniendo un campo definido como Float y usando siempre .AsCurrency (tanto para mostrar como para asignar un valor al campo) estamos minimizando el problema. Queremos guardar el valor 23.30:
Código Delphi
[-]
campo.AsCurrency := 23.30;
tabla.post
ShowMesage(FloatToStr(campo.AsCurrency));
El problema añadido, es que al utilizar ese valor en operaciones matemáticas los errores de decimales se van acumulando.
Saludos