BCD goes back to the early days of computing. The COBOL "COMP3" type
was the mainstay of commercial data processing for decades. Commercial
computers had BCD decimal arithmetic instructions and could handle
accurate tabulations efficiently.
These days storage is not so expensive so we have less pressure to store
decimal digits two to a byte in BCD. We pay an insignificant penalty
for storing a decimal digit per byte.
One of our compilers has decimal numbers which are in display format.
Its use is intuitive to programmers who can just read and write numbers
knowing that the decimal points will be preserved and that precision is
assured. It also performs rounding in the classic manner to minimize
drift. With such a number type it is very simple for a programmer to
have the debit and credit side balance precisely and line up right
justified. These numbers made it to an ANSI X standard.
JS
Fred Williams wrote:
No, but I would bet somewhere near the 90%+ range are "commercial"
applications, requiring the management of fixed point bankers
("European" or "English") rounding numeric data. Why should the many
suffer for the benefit of the few? BCD ain't rocket science. I learned
the concept in the Military many years ago. Many database engines are
beginning to support the data type in some manner, with few calling it
BCD.
Fred
-----Original Message-----
From: Brass Tilde [mailto:[EMAIL PROTECTED]
Sent: Wednesday, November 02, 2005 7:03 AM
To: sqlite-users@sqlite.org
Subject: Re: [sqlite] Proposed 3.3.0 changes. Was: 5/2==2
Well, since you put it that way. May I go one step farther and
request
that this new Dynamic Type also adhere to "Bankers
Rounding" commonly
implemented as BCD in other so equipped databases.
Please, no. I'll handle rounding in my application, I don't
need it on
the database. Not all database applications are banking applications.
Brad