Sim*_*s0n 2 haskell type-conversion
我有一个类型的功能Int -> Int -> Int -> Int.当我div a b在函数中用作变量的值时,如果返回div a b值为1/2或任何两倍,则值会向下舍入为0 .
它是否正确?如果将double强制转换为整数,那么Haskell是否会像java中一样削减值?
div 1 2不返回0.5,然后将其转换为整数0.它首先返回0.div执行整数除法,因此总是返回一个整数(或其他积分类型,具体取决于您使用它的类型).没有涉及的双打.
将double转换为整数时,舍入方法取决于您使用的方法.例如,floor将数字向下舍入,而round舍入到最接近的整数.Haskell中没有隐式转换,因此任何转换都将通过函数进行.