[Haskell-cafe] Why 'round' does not just round numbers ?
Mitchell, Neil
neil.mitchell.2 at credit-suisse.com
Mon Oct 27 06:01:38 EDT 2008
Hi,
That is a fairly standard implementation of rounding for financial
institutions. Consider
sum . map round
Over the list [3.5,2.5]
With rounding to the nearest even integer for 0.5's you get 6, otherwise
if you always round up you get 7. If you bias towards rounding up you
get a general upwards trend as numbers are rounded, which is bad, while
the even condition ensures that statistically it averages to the same
thing.
For more details see:
http://en.wikipedia.org/wiki/Rounding#Round-to-even_method
Thanks
Neil
> -----Original Message-----
> From: haskell-cafe-bounces at haskell.org
> [mailto:haskell-cafe-bounces at haskell.org] On Behalf Of L.Guo
> Sent: 27 October 2008 9:49 am
> To: MailList Haskell-Cafe
> Subject: [Haskell-cafe] Why 'round' does not just round numbers ?
>
> Hi all:
>
>
> I just read about definitions of Prelude [1], and noticing that.
>
> In 6.4.6 Coercions and Component Extraction, it discribes like this:
>
>
> "round x returns the nearest integer to x, the even integer
> if x is equidistant between two integers."
>
>
> I think this is unresonable. then try it in GHC 6.8.3.
>
>
> Prelude> round 3.5
> 4
> Prelude> round 2.5
> 2
>
>
> Is there any explanation about that ?
>
>
> [1] The Haskell 98 Report: Predefined Types and Classes
> http://haskell.org/onlinereport/basic.html
>
> Regards
> --------------
> L.Guo
> 2008-10-27
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
==============================================================================
Please access the attached hyperlink for an important electronic communications disclaimer:
http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html
==============================================================================
More information about the Haskell-Cafe
mailing list