On Mon, Oct 13, 2008 at 6:33 AM, Gregory Stark <stark@xxxxxxxxxxxxxxxx> wrote: > justin <justin@xxxxxxxxxxxxxxx> writes: > >> special note do not use only 2 decimal points in the accounting tables. If >> your application uses 10 decimal places somewhere then every table in the >> database that has decimals needs to have the same precision. Nothing is more >> annoying where a transaction says 1.01 and the other side says 1.02 due to >> rounding. > > FWIW I think this is wrong. You need to use precisely the number of decimal > places that each datum needs. If you use extra it's just as wrong as if you > use too few. > > For example, when you buy gas/petrol at $1.999/gallon and buy 4 gallons you > get charged $8.00 not $7.996. If you fail to round at that point you'll find > that your totals don't agree with the amount of money in your actual bank > account. I wonder if there's a more general way to say that, something like: With a transaction between two systems of different precision, the greater precision system rounds at that point. If you want to take a particular system out to extra digits, it's probably good to record the rounding error as a separate component of the transaction (that is, if you want everything to balance out perfectly). merlin -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general