tipos programacion primitivos ejemplos definicion datos delphi types compatibility

programacion - En Delphi, ¿cómo determino cuándo usar los tipos de datos Real, Real48, Doble o Único?



tipos de variables en pascal (2)

La mayoría de mis aplicaciones giran en torno a cálculos financieros que involucran pagos y cálculos de tasas de interés. Estoy buscando cómo determinar qué tipo de datos Delphi es mejor usar.

Si estoy usando una base de datos para almacenar estos valores y he definido los campos en esa base de datos para que sean un valor decimal con dos decimales, ¿qué tipo de datos Delphi es más compatible con ese escenario?

¿Debo usar una fórmula de redondeo en Delphi para formatear los resultados en dos decimales antes de almacenar los valores en la base de datos? Si es así, ¿cuál es una mejor práctica para hacerlo?


Para tales cálculos, no use tipos de puntos flotantes como Real, Single o Double. No son buenos con valores decimales como 0.01 o 1234.995, ya que deben aproximarse a ellos.

Puede usar Moneda, un tipo de punto fijo, pero que todavía está limitado a 4 decimales.

Prueba mi tipo Decimal , que tiene 28-29 lugares y tiene un exponente decimal, por lo que es ideal para esos cálculos. La única desventaja es que no es compatible con FPU (pero escrito en ensamblador, sin embargo) por lo que no es tan rápido como los tipos incorporados. Es lo mismo que el tipo de Decimal utilizado en .NET (pero un poco más rápido) y bastante similar al utilizado en la Mac.


Si desea hacer cálculos financieros, no use ninguno de los tipos de punto flotante / real. Delphi tiene un tipo de moneda, que es un valor de punto fijo con 4 decimales, que debería ser justo lo que necesita.