我遇到了一些問題,我新來的一個函數是fromIntegral函數。Haskell將Int轉換爲Floating
基本上我需要採取兩個int參數和返回數字的百分比,但是當我運行我的代碼,它不斷給我這個錯誤:
代碼:
percent :: Int -> Int -> Float
percent x y = 100 * (a `div` b)
where a = fromIntegral x :: Float
b = fromIntegral y :: Float
錯誤:
No instance for (Integral Float)
arising from a use of `div'
Possible fix: add an instance declaration for (Integral Float)
In the second argument of `(*)', namely `(a `div` b)'
In the expression: 100 * (a `div` b)
In an equation for `percent':
percent x y
= 100 * (a `div` b)
where
a = fromIntegral x :: Float
b = fromIntegral y :: Float
我讀了'98 Haskell前奏,它說有這樣一個函數叫fromInt,但它從來沒有工作,所以我不得不這樣做,但它仍然無法正常工作。幫幫我!
我懷疑98報告稱有一個fromInt。 – augustss 2012-04-24 18:04:33