返回一个包含随机数字的 Single 值。
语法
Rnd[ (number) ]
可选的数字参数是单个或任何有效的数值表达式。
返回值
| 如果 number 为 | Rnd 生成 |
|---|---|
| 小于零 | 每次都是相同的数字,以 数字 为种子。 |
| 大于零 | 序列中的下一个随机数。 |
| 等于零 | 最近生成的数字。 |
| 未提供 | 序列中的下一个随机数。 |
备注
Rnd 函数返回一个小于 1 但大于或等于零的值。
number 的值决定了 Rnd 如何生成随机数:
对于任何给定的初始种子,都会生成相同的数字序列,因为对 Rnd 函数的每个连续调用都使用前一个数字作为序列中下一个数字的种子。
在调用 Rnd 之前, 使用不带参数的 Randomize 语句基于系统计时器使用种子初始化随机数生成器。
要在给定范围内生成随机整数,请使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
此处, upperbound 是范围内的最高数字, lowerbound 是范围内的最低数字。
注意
若要重复随机数序列,请在将 Randomize 与数值参数一起使用之前立即使用负参数调用 Rnd。 对数字使用具有相同值的“随机化”不会重复前面的序列。
查询示例
| Expression | 结果 |
|---|---|
| SELECT ProductSales.ProductID, Rnd ([Discount]) AS RandomNumbers FROM ProductSales; | 返回产品 ID 以及 RandomNumbers 列中的随机数。 |
VBA 示例
注意
下面的示例演示了在Visual Basic for Applications (VBA) 模块中使用此函数。 有关使用 VBA 的详细信息,请在“搜索”旁边的下拉列表中选择“开发人员参考”,然后在搜索框中输入一个或多个术语。
此示例使用 Rnd 函数生成 1 到 6 之间的随机整数值。
Dim MyValue
' Generate random value between 1 and 6.
MyValue = Int((6 * Rnd) + 1)