haskell - Haskell 是否进行从 double 到整数的默认转换?

标签 haskell type-conversion

我有一个类型为 Int -> Int -> Int -> Int 的函数。当我在函数中使用 div a b 作为变量的值时,如果 div a b 的返回值是 1/2 或任何东西都像。

这是正确的吗?如果 double 被强制转换为整数,Haskell 是否会像 java 中那样削减值?

最佳答案

div 1 2 不返回 0.5,然后将其转换为整数 0。它首先返回 0。 div 执行整数除法,因此总是返回一个整数(或其他整数类型,具体取决于您使用的类型)。不涉及 double 。

当您将 double 转换为整数时,舍入方法取决于您使用的方法。例如,floor 会将数字向下舍入,而 round 会舍入到最接近的整数。 Haskell 中没有隐式转换,因此任何转换都将通过函数发生。

关于haskell - Haskell 是否进行从 double 到整数的默认转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35412431/

相关文章:

haskell - 这个惰性评估示例背后的魔力是什么?

haskell 错误: "First argument in (n+k) pattern must be a variable" - but how?

C++14 转换为成员函数的返回类型 - 简洁版本

java - Android:字节数组到十进制字符串

c++ - const 双指针参数的非常量指针参数

haskell - 既是递归的,又依赖于其他行为的行为

haskell - 类似于 Haskell 的 MultiParamTypeClasses

Haskell 生成预过滤排列

error-handling - 为什么当我返回一个错误类型时它没有被隐式转换?

c# - EF 从 Type 获取运行时的记录列表