Subject Re: [IBO] Rounding problems
Author Daniel Rail
Hi,

At March 13, 2003, 18:47, Pirtea Calin Iancu wrote:

> I've run today into some rounding problems caused by converting
> scaled intergers into real types just to do some + and - operations.

> I had 500.000-499.995 equal to 0.0050000....00xxxx
> comparing 0.005 with 500.000-499.995 was false.

> So, considering the fact that I have precise numerics I would like
> the int64 to be surfaced.
> I'fe created a property called AsInt64Raw that returned the int64
> value without using the scale.
> This way I have integers 500000-499995=5 and I find this property
> very usefull if I have to use the same fields sometimes for real types
> math operations and sometimes for substraction or addition.

> Opinions?

I wouldn't see any problems, if someone wants to use it, it's up to
them.

Also in Firebird 1.5, int64 has been surfaced as BIGINT data type. So
you wouldn't have to use Numeric(18,0) or Decimal(18,0) in the field
declaration and just use BIGINT.

--
Best regards,
Daniel Rail
Senior System Engineer
ACCRA Group Inc. (www.accra.ca)
ACCRA Med Software Inc. (www.filopto.com)