我如何从浮点数得到一个精确的整数?

时间:2011-01-07 19:54:03

标签: casting scheme rounding

我需要使用random函数和整数参数,我从理论上可以返回double的操作中获得。所以我想为此目的使用一些演员阵容。我试过了

(random (round 10.0))
(random (floor 10.0))

但它会抛出像

这样的异常
random: expects argument of type <exact integer in [1, 4294967087] or pseudo-random-generator>; given 10.0

我使用DrRacket作为翻译。

1 个答案:

答案 0 :(得分:2)

尝试(random (floor->exact 10.0))(random (inexact->exact (round 10.0))))

您可以使用任何圆角(地板/圆形/截顶/天花板)。

此处讨论:http://web.mit.edu/scheme_v9.0.1/doc/mit-scheme-ref/Numerical-operations.html (搜索“不精确 - >确切”)