English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
Data type representing 'Money'
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2009-05-17 (02:23)
From: Edgar Friendly <thelema314@g...>
Subject: Re: [Caml-list] Data type representing 'Money'
Conglun Yao wrote:
> Hi all,
> Is there any data type could be used to represent 'Money'  in OCaml,
> similar to BigDecimal.
> I see a lot of programs using float directly. Maybe Num would be better,
> but less document could be found, for example, how to represent 20.27
> Or there already exist a better solution. Thanks for any help.
> Conglun
I'd do fixed point math using Num to count cents (or mills if you really
need) but displaying dollars and cents.  For example: $20.27 would
internally be represented by the number 2027, and use int arithmetic for
exact math.

If you used 63-bit ints, you'd probably get away with not even using
Num, as max_int = 4611686018427387903 would represent the dollar amount
46_116_860_184_273_879.03, just short of 50 quadrillion dollars.