Funny issue with casting double to ulong

Era Scarecrow via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Jul 3 00:13:45 PDT 2017


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.


More information about the Digitalmars-d-learn mailing list