理性的平方根

时间:2015-05-11 03:30:15

标签: haskell

给出以下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之间进行转换。

我该怎么做?

1 个答案:

答案 0 :(得分:6)

您可以使用fromRational

fromRational :: Fractional a => Rational -> a

或通用realToFrac

realToFrac :: (Real a, Fractional b) => a -> b