On Fri, Feb 13, 2015 at 4:56 PM, nicolas cellier < nicolas.cellier.aka.n...@gmail.com> wrote:
> ... > > If it's for monetary things like computing interests, then the advice is to > not use Float but ScaledDecimal. > > 100 * (1.05s2 raisedTo: 10) roundTo: 0.01s2 > -> 162.89s2 > > Nicolas > > So, for money, I would suggest not using ScaledDecimal, but rather FixedDecimal. ScaledDecimal can do funny things that you would not expect in real money land: m := 1/3 asScaledDecimal: 2. m "==> 0.33s2" m + m + m "==> 1.00s2" You shouldn't be allowed to add 33 cents together and get a whole dollar (usd, at least)! FixedDecimal actually rounds to the specified length (ScaledDecimal keeps the entire precision 'behind the curtains'). m := 1/3 asFixedDecimal: 2. m "==> 0.33" m + m + m "==> 0.99" http://www.squeaksource.com/FixedDecimal.html -cbc
_______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners