gpt4 book ai didi

haskell - 分数类型比较

转载 作者:行者123 更新时间:2023-12-02 13:51:38 25 4
gpt4 key购买 nike

ghci> 4 == 3.9999999999999999
True

ghci> 10.2^2 == 104.04
False

为什么第二个表达式返回 False?

最佳答案

浮点值没有合理的相等概念。可以说,在 Haskell 中,表达式甚至类型检查是一个错误。对于所有使用浮点表示的语言来说,这个问题都很常见。

关于浮点的一些引用:

考虑使用the Rational type in Haskell ,如果您在这里需要正确的数学,但请注意它支持较小范围的运算,并且硬件支持较少。

Prelude> 4 == (3.9999999999999 :: Rational)
False
Prelude> 10.2^2 == (104.04 :: Rational)
True

关于haskell - 分数类型比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6038740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com