在Haskell中划分,Type类

MrD*_*MrD 3 haskell division

我有一个函数,作为参数两个整数,应该返回它们的除法结果.

但是,我对一些事情不确定.

首先,返回类型是什么?即,4/2会回来2,因此我推测Int,但5/3......?那么最好的操作员是什么?

Die*_*lan 7

div是haskell中的整数除法.它会像C一样向下舍入.所以

4 `div` 2 = 2
5 `div` 3 = 1
Run Code Online (Sandbox Code Playgroud)

要进行常规除法,您必须转换为带有的Fractional类型fromIntegral.

(/) :: Fractional a => a -> a -> a
Run Code Online (Sandbox Code Playgroud)

因此,(/)运算符采用两种Fractional类型并返回相同的小数类型.例子是Rational,DoubleFloat.