haskell 如何在默认情况下舍入浮点数?[关闭]

cyvaqqii  于 11个月前  发布在  其他
关注(0)|答案(2)|浏览(87)

已关闭。此问题需要更多focused。目前不接受回答。
**要改进此问题吗?**更新此问题,使其仅针对editing this post的一个问题。

三年前就关门了。
Improve this question
我有一个浮点数23.8,我想把23作为一个int。

ru9i0ody

ru9i0ody1#

有很多舍入方法,例如:

  • 朝向负无穷大:floor 0.8 = 0floor (-0.8) = -1
  • 正无穷大:ceiling 0.8 = 1ceiling (-0.8) = 0
  • 零:truncate 0.8 = 0truncate (-0.8) = 0
  • 到一半('银行家回合'):round 0.8 = 1round (-0.8) = -1round 0.5 = 0round 1.5 = 2

因此,从你所说的,你可能想要地板或截断(floor 23.8 = = truncate 23.8 = 23),但问自己,你希望发生什么,如果这个值是负的。

zynd9foi

zynd9foi2#

您的描述似乎表明您想要截断,而不是舍入。为此,您可以使用truncate
(实分数a,积分B)=> a -> B

相关问题