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




Reply via email to