Округлить до ближайшего целого числа

Есть ли официальная спецификация для функции roundв Haskell? В GHCi версии 7.0.3 я вижу следующее поведение:

ghci> round (0.5 :: Double)
0
ghci> round (1.5 :: Double)
2

Поскольку и 0,5, и 1,5 представляются точно как числа с плавающей запятой, я ожидал увидеть то же поведение, что и в Python :

>>> round(0.5)
1.0
>>> round(1.5)
2.0

. Есть ли объяснение этой разнице или это причуда GHCi?

21
задан Chris Taylor 24 May 2012 в 13:35
поделиться