Re: [HACKERS] Warning!!

A James Lewis <james@vrtx.net>

From: A James Lewis <james@vrtx.net>
To: "Thomas G. Lockhart" <lockhart@alumni.caltech.edu>
Cc: Bruce Momjian <maillist@candle.pha.pa.us>, The Hermit Hacker <scrappy@hub.org>, darcy@druid.net, pgsql-hackers@postgreSQL.org
Date: 1998-11-04T13:37:10Z
Lists: pgsql-hackers
Don't remove it... After all, I'm using this workaround in my software 
for now and it seems OK....

testdb=> select cash_mul_flt8('$1', '123.77');
cash_mul_flt8
-------------
$123.76      
(1 row)

testdb=> select cash_mul_flt8('$1', '123.77000001');
cash_mul_flt8
-------------
$123.77      
(1 row)

It happens in float4 too....


On Wed, 4 Nov 1998, Thomas G. Lockhart wrote:

> > I'm very new to this list, and I have to first say that 6.4beta5 fixes
> > every problem I had encountered with 6.3.2 (A small list..)
> > Just now I saw and posted this...
> > If the pence is 0-4 it rounds down... surely that's a rounding bug 
> > because it should be looking at the next significant figure?
> 
> tgl=> select cash_mul_flt8('$123.77', '1');
> cash_mul_flt8
> -------------
> $123.77
> (1 row)
> 
> tgl=> select cash_mul_flt8('$1', '123.77');
> cash_mul_flt8
> -------------
> $123.76
> (1 row)
> 
> That's annoying; it's non-symmetric too. The money type is stored as an
> integer, and the float type is an IEEE double; looks like we have an LSB
> rounding problem. Not sure what to do about it other than remove the
> function, which isn't desirable I'm sure...
> 
>                  - Tom
> 

James (james@linuxrocks.co.uk)
Vortex Internet
My Windows unders~1 long filena~1, and yours?