首页 > 解决方案 > 在 haskell 中,为什么 min 8.0 8 = 8.0 和 max 8.0 8 = 8.0

问题描述

我正在学习haskell,我遇到了一个奇怪的行为。我试过了

Prelude> min 8.0 8
8.0

Prelude> max 8 8.0
8.0

我切换了两个函数的参数位置,但得到了相同的结果。如果 8.0 作为 min 返回,难道 8 不应该作为 max 返回(反之亦然)?我正在使用ghci版本 8.0.2。为什么会这样?

标签: haskell

解决方案


两者88.0代表相同Double,并且Double打印为8.0min这与本身无关。

> 8 :: Double
8.0

推荐阅读