如何转换Int至Double?

时间:2016-05-13 06:52:36

标签: haskell

我有一个函数,它接受一个double作为输入,但是我必须将一个Int传递给它,它给了我这个错误:

因使用'/'

而没有(Fractional Int)实例的实例

以下是我的功能:

foo1 :: Int  -> Int
foo1 x1 = foo2 (x1 + 1)

foo2 :: Double -> Int
foo2 x = round (((3244325 * x^343)/2352352656) - ((3432 * x^234)/45324645500) + ((23453 * x^21)/2534743435)

我不知道如何解决这个问题。

是否存在以下内容:

foo1 :: Int  -> Int
foo1 x1 = foo2 $ convertToDouble $ (x1 + 1)

1 个答案:

答案 0 :(得分:5)

使用fromIntegral

 (Integral a, Num b) => a -> b

它会将整数类型(即Int,Integer等)转换为另一种Num类型。