人気ブログランキング | 話題のタグを見る

Haskell の四捨五入

Haskell の四捨五入が round 関数だと思っていたら ??? な結果が出てきた。

Prelude Data.List> round 2.5
2
Prelude Data.List> round 3.5
4

これは四捨五入の方式が、HALF_EVEN という方式をとっているからだそうだ。

定食屋おろポンさんの記事を見て halfup 関数を作って見た。

Prelude Data.List> let halfup x = let (m,d) = properFraction x in if d < 0.5 then m else m + 1
Prelude Data.List> halfup 2.5
3
Prelude Data.List> halfup 3.5
4


by tnomura9 | 2016-10-23 23:05 | Haskell | Comments(0)
<< Haskell のバード・スタイル Haskell 木構造関連記事リスト >>