我有一個函數,需要一個雙作爲輸入,但我必須通過一個INT它,它給了我這個錯誤:如何轉換Int至Double?
沒有實例爲(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)
我不知道哈斯克爾,但我找到了這個;檢查是否有幫助:「將Int轉換爲Double的常用方法是使用fromIntegral,它具有類型(Integral a,Num b)=> a - > b。這意味着它將Integral類型(Int和整數)到任何數字類型b,其中Double是一個實例。「 –