From: Bill Seymour (bill-at-the-office_at_[hidden])
Date: 2001-09-27 09:01:47
In reference to a financial application, Damien wrote:
> ... double a = 2.30 will set a = 2.9999...9 not 2.30.
> That is unacceptable.
> Has anyone else come across this problem?
Yes, it's a common problem with both C and C++ when they're
used in a traditional "business data processing" environment.
I've suggested a fixed-point decimal type to J11/WG14, but
didn't get much support from anyone but Martin O'Riordan
who was at the Toronto meeting. (From what Martin said,
Ireland wants this very much.) In Copenhagen, I began
to suggest a syntax that would be compatible with C++;
but I was shouted down and generally made unable to
continue as soon as I wrote the first left angle bracket
on the white board. I don't hold out much hope for this
C++ might be a different story; but I'm a newbie on J16
(Copenhagen was my first meeting), so I'm not sure what
kind of reception I'd get.
I'm currently working on a fixed-point decimal type
that I intend to propose as a Boost library; but I
haven't been able to spend as much time on it as I
would have liked. I'm currently trying to get all the
iostream/i18n stuff right, learning about locales and
facets in the process. When I get that done, I'll
still have the code for the actual arithmetic to write.
Maybe what I'll do is extract just the proposed public
interface into an HTML document and upload it so that
we can have something to talk about in Redmond. (Is
there a Boost meeting planned for Redmond?)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk