Haskell中的Int32到Int

时间:2011-02-02 21:59:13

标签: haskell

在Haskell中,哪些函数或一系列函数可以将Int32转换为Int?我知道HashTable.hashString可以转换为Int32,但我需要一个可以转换为其他方式的函数。

3 个答案:

答案 0 :(得分:14)

ghci> import Data.Int
ghci> fromIntegral (5 :: Int32) :: Int
5
ghci> fromIntegral (5 :: Int) :: Int32
5

答案 1 :(得分:6)

停止。 Hoogle time!...可悲的是,这次Hoogle未能很好地回答这个问题。跳到答案......

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

(docs at hackage.haskell.org)

请注意fromIntegral的类型签名表示它会将任何Integral转换为任何Num。由于Int32的声明实例为Integral,而Int的声明实例为Num,因此fromIntegral函数将完成此任务。

答案 2 :(得分:2)

fromIntegral将从Int32转换为Int或反过来。

相关问题