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: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] 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@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 ============================================================================== _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe