Subject Re: [firebird-support] Paradox & Firebird
Author Martijn Tonies

> I'm supporting 2 applications for a client. One uses Paradox as a
> database and the other Firebird 1.5. I have reports in both
> applications that calculate numbers that my client insists must match
> exactly. My problem is with differences in the way Paradox and
> Firebird stores numeric values, causing rounding errors that I can't
> seem to correct.
> My Paradox tables are all defined with Numeric fields (15 significant
> digits) and the Paradox application calculates all the numbers using
> the Double datatype in Delphi. In my Firebird application, I've had
> to define my Firebird database to use all Double precision (which I
> think is a close as I can come to the Paradox Numeric) and I'm
> calculating all the numbers in stored procedures using Double
> Precision datatypes.
> However, I'm unable to get stored procedures in Firebird to calculate
> numbers exactly the same as the numbers calculated in the Paradox
> application even though I've calculated the results in the same way as
> the Paradox application.
> Is it possible to get these numbers to match exactly? Is this a
> raasonable goal?

"double precision" is a floating point datatype. If you want to avoid
approximate numbers (like floating points) and introduce small
differences, use the NUMERIC datatype in Firebird.

With regards,

Martijn Tonies
Database Workbench - developer tool for InterBase, Firebird, MySQL & MS SQL
Upscene Productions