[Haskell-cafe] What is a safe Haskell data type to store and manipulate Money values?
Joachim Durchholz
jo at durchholz.org
Tue Apr 4 15:34:34 UTC 2017
Am 04.04.2017 um 17:10 schrieb David Turner:
> On 4 April 2017 at 15:50, Joachim Durchholz <jo at durchholz.org
> <mailto:jo at durchholz.org>> wrote:
>
> Am 04.04.2017 um 16:13 schrieb ALeX Kazik:
>
> Rational?
>
> You'd be constantly be doing explicit calculations to get back to a
> denominator of 100. Plus you'd have to deal with those cases where
> the denominator is a divisor of 100, and you'd need explicit
> nonstandard conversion to strings.
>
>
>
> The same sort of fiddling-the-denominator problems also occur if you use
> `Decimal` - it's not normally useful to be able to represent things
> smaller than £0.01 (or whatever the smallest unit of your local currency
> is); I'd even go as far as to say it's useful to be able to be sure that
> you _can't_ represent such things (in the domain of basic accounting at
> least - more complex things may deal with smaller fractions of currency,
> so YMMV etc).
Decimal has a roundTo function, Rational does not.
More information about the Haskell-Cafe
mailing list