两者之间的功能是否存在差异floor
and truncate
在哈斯克尔?
它们似乎执行相同的功能并且具有相同的类型签名:
truncate :: (Integral b, RealFrac a) => a -> b
floor :: (Integral b, RealFrac a) => a -> b
是的,对于负数。如果我们阅读文档,我们会看到:
truncate :: Integral b => a -> b
truncate x
返回最接近的整数x
零和之间x
and:
floor :: Integral b => a -> b
floor x
返回不大于的最大整数x
所以如果我们输入一个负数, like -3.5
我们获得:
Prelude> truncate (-3.5)
-3
Prelude> floor (-3.5)
-4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)