type to_decimal round quitar number decimales dec data convertir as400 delphi db2 decimal precision

to_decimal - Usar el tipo de datos decimal para trabajar con valores monetarios con db2 y delphi 2010



round teradata (1)

trabajar directamente con decimales monetarios es casi siempre un problema. debido a las diferentes conversiones realizadas desde la base de datos a su aplicación de front-end, es posible perder o ganar (esto se aplica también a la mayoría de los sistemas financieros, consulte el redondeo de banqueros ).


Le sugiero que use la función RoundTo antes de hacer operaciones / mostrar / etc. Un muy buen artículo sobre el redondeo http://docwiki.embarcadero.com/RADStudio/XE2/en/Floating-Point_Rounding_Issues

Otra sugerencia será usar el tipo de moneda . Aquí hay una pregunta sobre SO con una buena explicación sobre este tipo. ¿Cómo evitar problemas de redondeo al comparar valores de moneda en Delphi?

Estoy usando delphi 2010 con db2 9.7 Express-C y tengo una base de datos que tiene varios campos de tipo decimal para trabajar con valores monetarios. Ahora veo que hay algunos problemas al usarlo, como el valor 9.20 muestra el valor 9.19999980926514 en mi front-end. Necesito cambiar todos los campos en mi base de datos a DECFLOAT o hay una función, propiedad en tfield u otra alternativa para resolverlo?

Gracias. Davis