Simon,

I think using Rational is a good solution. I have found tracking multiple 
currencies and commodities problematic. For example take gold, it is traded 
in London in Troy ounces, in Hong Kong in Tael, which is exactly 37.429 
Grams, which differers from the definition of the Main Land Chinese Tael. 
Furthermore they are each bought and sold in different currencies. Since the 
conversion between units and exchange rate is always given to a fixed number 
of digits, I vote for Rational.

Best Regards,
Robert

On Thursday 12 July 2007 15:42, Simon Michael wrote:
> Good day all,
>
> my budding ledger program could not balance transactions exactly because of
> rounding error with Double. I *think* I got it working better with Rational
> (it was late). Another suggestion from #haskell was to multiply all money
> by 100. I'm tracking multiple currencies/commodities with varying precision
> so this gets a bit more complicated.
>
> Is there a type or library out there that's good for representing money and
> other quantities while avoiding rounding errors  ?
>
> Best - Simon
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to