2
我在Haskell如何從浮動轉換爲int在Haskell
toInt :: Float -> Int
toInt x = round $fromIntegral x
寫了一個函數它應該採取的浮動並返回等價詮釋。我來自C編程背景,在C中,我們可以將它作爲(int)x來處理。
然而,在這種情況下,我得到以下編譯錯誤
No instance for (Integral Float)
arising from a use of `fromIntegral'
In the second argument of `($)', namely `fromIntegral x'
In the expression: round $ fromIntegral x
In an equation for `toInt': toInt x = round $ fromIntegral x
關於如何解決此問題的任何想法?
也許你可以試試這個'round 3.2 :: Int'。 – Aleph0
如果你需要找到一個你知道這個類型的函數,比如'Float - > Int',那麼你可以在[Hayoo]上搜索該類型的函數(http://hayoo.fh-wedel.de/?query=浮動+ - %3E +詮釋)或[Hoogle](https://www.haskell.org/hoogle/?hoogle=Float+-%3E+Int+%2bbase&start=41#more) – Redu