1)如何从一种Int
类型转换为一种Num
类型?
之前已经提出过类似的问题,答案是(就像在 Haskell wiki 上一样)是使用fromIntegral
. fromIntegral
返回一个Num
类型,所以我必须将其转换为我想要的格式。
我需要采取 aWord16
并将其转换为 aInt64
所以我正在执行以下操作
let valueLength = (fromIntegral(tagLength) :: Int64)
哪里tagLength
有类型Word16
这种方法正确吗?
2)你如何安全地处理类型转换?
来自我相信 Integers 的 Java 背景,我Short
可以
使用 a作为 an但不能反过来。在 Haskell 虽然如果我写Int
Long
short
int
256 :: Word8
其中ghci
返回 0。