如何从浮点数中获取精确的整数?

发布于 2024-10-10 22:06:05 字数 330 浏览 2 评论 0原文

我需要使用带有整数参数的随机函数,该参数是从理论上可以返回双精度的操作中获得的。所以我想为此目的使用一些铸造/圆形。我已经尝试过

(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 作为解释器一样。

I need to use random function with integer argument that I get from operations that theoretically can return double. So I want use some cast/round for this purpose. I've tried

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

But it throws exceptions like

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

I use DrRacket as interpreter.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

£冰雨忧蓝° 2024-10-17 22:06:05

尝试 (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
(搜索“不精确->精确”)

Try (random (floor->exact 10.0)) or (random (inexact->exact (round 10.0))))

You can use any of the roundings (floor/round/truncate/ceiling).

This is discussed here: http://web.mit.edu/scheme_v9.0.1/doc/mit-scheme-ref/Numerical-operations.html
(search for "inexact->exact")

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文