Subject Re: Paradox & Firebird
Author sgharp
--- In, "Martijn Tonies"
<m.tonies@u...> wrote:
> Hello,
> > 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.

I started out with Numeric datatypes and had to switch to Double
Precision because it seemed to more closely match the Paradox Numeric
and Delphi Double datatypes. When I used the Firebird Numeric, my
calculations were vastly different.