给出以下Rational:
Prelude> x
1 % 2
我试图采用它的平方根:
Prelude> sqrt x
<interactive>:14:1:
No instance for (Floating Rational) arising from a use of `sqrt'
In the expression: sqrt x
In an equation for `it': it = sqrt x
我读了这个数学转换article。但我没有看到如何在Rational和Floating之间进行转换。
我该怎么做?
答案 0 :(得分:6)
您可以使用fromRational
,
fromRational :: Fractional a => Rational -> a
或通用realToFrac
,
realToFrac :: (Real a, Fractional b) => a -> b