Re: Money data type in PostgreSQL? - Mailing list pgsql-general

From Graham Leggett
Subject Re: Money data type in PostgreSQL?
Date
Msg-id 3FCFA086.90300@sharp.fm
Whole thread Raw
In response to Re: Money data type in PostgreSQL?  (Christopher Browne <cbbrowne@acm.org>)
Responses Re: Money data type in PostgreSQL?
List pgsql-general
Christopher Browne wrote:

> But to get the pennies right on a $10,000 USD transaction converted
> into GBP (UK Pounds), you need all the official precision that there
> is.  And if your calculation is off by 4 cents, some of those
> accounting folk are liable to thrash you mercilessly over it.  If you
> get calculations WRONG, they get really uncomfortable, and want to
> know why.

What I have done is store the currency amounts as bigints, at the same
precision defined for the currency (ie cents for dollars, pence for
pounds, etc). This guarantees that you don't get any rounding errors
when storing the figures as a floating point type. When manipulating the
numbers, I use Java BigDecimals, which don't lose any precision either,
and convert back to bigints to store in the database.

YMMV.

Regards,
Graham
--


pgsql-general by date:

Previous
From: Alvar Freude
Date:
Subject: Re: Making a tree with "millions and millions" of dynamic
Next
From: Richard Huxton
Date:
Subject: Re: query and pg_dump problem on my postgresql 6.5.3/Redhat 6.2