更新:2007 年 11 月
返回一个 Single 类型的随机数。
Public Shared Function Rnd[(Number)] As Single
参数
- Number
 可选。一个 Single 值或任何有效的 Single 表达式。
返回值
| 如果 Number 为 | Rnd 生成 | 
|---|---|
| 小于零 | 每次都相同的数字,并将 Number 用作种子。 | 
| 大于零 | 序列中的下一个随机数。 | 
| 等于零 | 最近生成的数字。 | 
| 未提供 | 序列中的下一个随机数。 | 
备注
Rnd 函数返回小于 1 但大于或等于 0 的值。
Number 的值决定了 Rnd 生成随机数的方式。
由于每一次后续调用 Rnd 函数都用序列中前一个生成的数作为下一个数的种子,因此对于任何给定的初始种子都会生成相同的数字序列。
在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有一个基于系统计时器的种子。
若要生成某给定范围内的随机整数,可使用下面的公式:
randomValue = CInt(Math.Floor((upperbound - lowerbound + 1) * Rnd())) + lowerbound
这里,upperbound 是此范围内最大的数,lowerbound 是此范围内最小的数。
| .gif) 说明: | 
|---|
| 若要重复随机数序列,请在使用带数值参数的 Randomize 之前先调用带负参数的 Rnd。使用带有相同 Number 值的 Randomize 不会重复前一序列。 | 
| .gif) 安全说明: | 
|---|
| 由于 Random 语句和 Rnd 函数从一个种子值开始,然后生成位于有限范围内的数字,因此,如果某个人知道生成这些数字的算法,他就可以预测结果。因此,不应使用 Random 语句和 Rnd 函数生成加密使用的随机数。 | 
示例
本示例使用 Rnd 函数在范围 1 到 6 之间生成一个随机整数值。
' Initialize the random-number generator.
Randomize()
' Generate random value between 1 and 6.
Dim value As Integer = CInt(Int((6 * Rnd()) + 1))
要求
**模块:**VBMath
**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)
请参见
参考
修订记录
| 日期 | 修订 | 原因 | 
|---|---|---|
| 2008 年 7 月 | 修订了代码示例。 | 客户反馈。 |