From: JT Kirkpatrick <jt-kirkpatrick@mpsllc.com>
To: 'Don Garrett' <garrett@bgb-consulting.com>
Cc: 'pgsql-interfaces@hub.org' <pgsql-interfaces@hub.org>
Subject: RE: [ADMIN] float4
Date: Mon, 28 Jun 1999 16:53:28 -0400
Message-ID: <01BEC186.BFA829C0.jt-kirkpatrick@mpsllc.com> (raw)
ouch. hard to think of dollars only when you are paying vendors,
technicians, billing customers, etc. surely i won't have to make an int
field for the dollars and an int field for the cents!!! the money field
would work nicely if the odbc driver would handle it correctly!
i forwarded this to the odbc list -- any idea why a money field can't be
used from msaccess97 through the odbc??
thanks for your help!
jt
-----Original Message-----
From: Don Garrett [SMTP:garrett@bgb-consulting.com]
Sent: Monday, June 28, 1999 4:25 PM
To: JT Kirkpatrick
Subject: Re: [ADMIN] float4
You shouldn't use a float at all for exact amounts. Floats handle
arbitrary precision, but do it rounding off values somewhat. The way the
round off works is based on the (base 2) internal representation and so
it never quite seems to make sense in decimal. It's possible on some
machines/float formats to have "if (1.0 + 1.0 = 2.0)" evaluate to false.
When I first started programming, I did a very simple custom
accounting package using floats.... and had to go back and rewrite all
of it.
You will do better to use integers (no rounding at all) and consider
the contents to be the number of pennies involved, not dollars.
JT Kirkpatrick wrote:
>
> we have a database (linux, 6.4.2, new odbc, connections from msaccess /
> win98) -- access doesn't fully appreciate the monetary type in postgres,
so
> we made all monetary fields FLOAT4's. weird stuff -- or maybe not to you
> -- we insert 23516.69 into a float4 field directly in psql, and then
select
> it, and it shows 23516.7. this is not good for a field used for MONEY!!!
> what are the limitations of float4? should i have used float8?
>
> thanks for any help you can offer. . .
>
> jt
--
Don Garrett dgarrett@acm.org
BGB Consulting http://www.bgb-consulting.com/garrett
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: jt-kirkpatrick@mpsllc.com, garrett@bgb-consulting.com, pgsql-interfaces@hub.org
Subject: RE: [ADMIN] float4
In-Reply-To: <01BEC186.BFA829C0.jt-kirkpatrick@mpsllc.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox