On Monday, 3 July 2017 at 06:20:22 UTC, H. S. Teoh wrote:
On Mon, Jul 03, 2017 at 05:38:56AM +0000, Era Scarecrow via
Digitalmars-d-learn wrote:
I almost wonder if a BCD, fixed length or alternative for
floating point should be an option...
From what I've heard, word on the street is to avoid using
floating-point for money calculations, and use fixed-point
arithmetic instead (I.e., basically ints / longs, with a
built-in decimal point in a fixed position). Inexact
representations of certain fractions of tens like the above are
one reason for this.
I don't think there's a way to change how the FPU works -- the
hardware is coded that way and can't be changed. You'd have to
build your own library or use an existing one for this purpose.
It's been a while, i do recall there was BCD options, actually
found a few of the instructions; However they are more on
loading/storing the value, not on working strictly in that mode.
Last i remember seeing references to BCD work was in 2000 or so.
I'll have to look further before i find (or fail to find) all
that's BCD related. Still if it IS avaliable, it would be an x87
only option and thus wouldn't be portable unless the language or
a library offered support.