Rnd 函数

返回包含伪随机数的 Single

语法

Rnd [ (数字) ]

可选的 Number参数Single 或任何有效的 数值表达式

返回值

如果 Number 则 Rnd 生成
小于 0 每次使用相同的数字,使用 Number 作为 种子
大于 0 伪随机序列中的下一个数字。
等于 0 最近生成的数字。
未提供 伪随机序列中的下一个数字。

备注

Rnd 函数返回一个小于 1 但大于或等于 0 的值。

Number 的值确定 Rnd 如何生成伪随机数:

  • 对于任何给定的原始种子,由于对 Rnd 函数的每个后续调用会将之前的数字用作序列中的下一个数字的种子,因此,将生成相同的数字序列。

  • 在调用 Rnd 之前,请使用不带参数的 Randomize 语句,使用基于系统计时器的种子初始化随机数生成器。

若要生成给定范围中的随机整数,使用此公式:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

此处,upperbound 是范围中的最大数字,lowerbound是范围中的最小数字。

注意

[!注释] 若要重复随机数字的顺序,请先立即调用带负参数的 Rnd ,然后再将 Randomize 与数值参数一起使用。 对 Number 使用相同的值使用 Randomize 不会重复上一个序列。

示例

此示例使用 Rnd 函数生成一个介于 1 和 6 之间的随机整数值。

Dim MyValue As Integer
MyValue = Int((6 * Rnd) + 1)    ' Generate random value between 1 and 6.

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。