Is there an equivalent of the decimal type in D?

Bill Baxter dnewsgroup at billbaxter.com
Sat Jan 27 14:41:35 PST 2007


Sean Kelly wrote:
> I'm not sure that accuracy is a problem--at least not compared to 
> fixed-point BCD.  The essential issue with using base 2 floating point 
> for problems where the user expects an "exact" result in base 10 is that 
> of representation.  Simply put, some numbers that have an exact 
> representation in base 10 are infinitely repeating numbers in base 2, 
> and vice-versa.  This is why a calculation resulting in 1.5 in base 10 
> displays as 1.4999... in base 2.  But as far as accuracy is concerned, 
> I'm sure you'll agree that 1.4999... is not terribly far from 1.5 :-) Of 
> course, finance folks don't see it this way because if you display 
> 1.4999 on a report it doesn't match what they expect and they scream and 
> yell.

Bad example.  1.5 *is* exactly representable in base 2 floating point. 
2^0 + 2^-1 :-)


--bb


More information about the Digitalmars-d-learn mailing list