Int 值,并将结果作为 Float . 我试着这样做:
Int
Float
foo :: Int -> Int -> Float foo a b = fromRational $ a % b
但是GHC(版本6.12.1)告诉我关于 a 在表达式中。
a
fromRational 呼叫需要 (%) 生产 Ratio Integer Integer 而不是 内景 . 但我所划分的价值观远未达到 内景 范围限制,所以使用任意精度的bignum类型似乎有点过分了。
fromRational
(%)
Ratio Integer
Integer
内景
toInteger 在我的操作数上,或者有没有更好的方法(可能不涉及 和比率),我不知道?
toInteger
必须将操作数转换为浮点数 第一 然后除以,否则将执行整数除法(无小数点)。
Data.Function )
Data.Function
foo = (/) `on` fromIntegral
foo a b = (fromIntegral a) / (fromIntegral b)
具有
foo :: Int -> Int -> Float