vb.net随机值函数 vb中随机函数

《VB.NET》中的“Randomize(x)”和“Rnd(x)”Rnd[(number)]
number
的值决定了
Rnd
生成随机数的方式
如果
number
的值
Rnd
生成
小于
每次都使用
number
作为随机数种子得到的相同结果 。
大于
序列中的下一个随机数 。
等于
最近生成的数 。
省略
序列中的下一个随机数 。
====================
先讨论没有加randomize时
X小于0

rnd(-1)
以-1为种的随机数永远相同
X大于0

rnd(1)
系统会先生成随机数列表
有N个随机数
你每执行一次rnd(1)就获取列表中下一个随机数
比如有这么个列表
程序开始时
得到0.7055475
执行第二次rnd(1)得到0.533424
第三次0.5795186
你关闭程序重新打开
第一次得到还是0.7055475
.7055475
.533424
.5795186
.2895625
.301948
而你说的X0
X0没差别
是错的
Print
Rnd(1)
Debug.Print
Rnd(-2)

Debug.Print
Rnd(-2)
Print
Rnd(1)
结果是不一样的
X等于0
最近生成的数
一般为科学型数值
这个值也是不变的
rnd(x)
省略x不写
就和X0
效果一样
=========================
Randomize

number

Rnd
函数的随机数生成器初始化,该随机数生成器给
number
一个新的种子值 。如果省略
number , 则用系统计时器返回的值作为新的种子值 。
如果没有使用
Randomize,则(无参数的)Rnd
函数使用第一次调用
Rnd
函数的种子值 。
注意
若想得到重复的随机数序列,在使用具有数值参数的
Randomize
之前直接调用具有负参数值的
Rnd 。使用具有同样
number
值的
Randomize
是不会得到重复的随机数序列的 。
一般在使用rnd获取随机数
都是
randomize
int(rnd*(上限-下限 1) 下限)
这2个函数的X都是省略不写
VB.Net中关于随机函数的问题Dim num, counter As Integer
numbers = ""
For I = 1 To N
Sz(I) = N
Next I
For counter = 1 To M
Randomize
Do
Si = False
num = Int(Rnd * N)1
If Sz(T)0 Then
X(I) = Sz(T)
Sz(T) = 0
Si = True
End If
Loop Until (Si = True)
numbers = numbersCStr(num)vbCrLf
Next
TextBox3.Text = numbers
增加一个判断过程,我修改了一下前几天给别人写的那个方法,你可以尝试一下:)
vb.net产生随机数方法名称:next();功能描述:返回一个0~2147483647之间的整数
方法名称:next(i);功能描述:返回一个0~i之间的整数
方法名称:next(i,j);功能描述:返回一个i~j之间的整数
方法名称:Nextdouble();功能描述:返回一个0~1之间的随机小数
================
使用方法:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim rand = New System.Random()
MsgBox(rand.next().ToString())
End Sub
==========================
产生N个不同数的话,我给你个我写的VB的代码,你稍微改下:
产生0-10的数:
Private Sub Command1_Click()
Randomize
Dim a(10) As Long
n = 10
For i = 0 To n
a(i) = Int(Rnd() * (n1))
For j = 0 To i - 1
If a(i) = a(j) Then
i = i - 1
Exit For
End If
Next
Next
For i = 0 To n
Print a(i)
Next
End Sub
vb.net程序,利用随机函数产生100个1到100之间的整数,求其中的最大最小值 。Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Randomize()'产生随机数种子 以防止每次生成结果都一样
Dim a(100) As Integer '声明数组存放数据 用来保存随机数结果
Dim max As Integer, min As Integer'声明两个变量存最大值和最小值
min = 1000 : max = 0 '设置初值
For i = 0 To 99'循环100次
a(i) = Int(Rnd() * 10001) '用rnd生成一个随机数由于rnd范围为0-1之间vb.net随机值函数的小数.所以*1000设置他vb.net随机值函数的范围为0到999之间 加1变成1到1000之间
If a(i) = max Then max = a(i) '如果当前数值大于最大值vb.net随机值函数的变量就保存
If a(i) = min Then min = a(i) '如果当前数值小于最小值的变量就保存
Next
MsgBox("最大值为"max)
MsgBox("最小值为"min)
End Sub
VB.NET中函数Rnd能够返回什么的随机数返回大于等于0小于1之间的随机数 。
Visual Basic中随机函数
格式:Rnd(数值表达式)
功能:求[0,1)之间的一个随机数
语法:
Rnd[(number)]
如果 number 的值是 Randomize 生成
小于 0,每次都使用 number 作为随机数种子得到的相同结果 。
大于 0 ,以上一个随机数为种子产生下一个随机数 。
等于 0 , 产生与最近生成的随机数相同的随机数 。
省略 , 以上一个随机数为种子产生下一个随机数 。
说明
Rnd 函数返回小于 1 但大于或等于 0 的值 。
number 的值决定了 Rnd 生成随机数的方式 。
对最初给定的种子都会生成相同的数列,因为每一次调用 Rnd 函数都用数列中的前一个数作为下一个数的种子 。
在调用 Rnd 之前,先使用无参数的 Randomize语句初始化随机数生成器(若带参数 , 则产生由参数对应的一个特定序列的随机数),该生成器具有根据系统计时器得到的种子 。
为了生成某个范围内的随机整数,可使用以下公式:
Int((upperbound - lowerbound1) * Rndlowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限 。
注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd 。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的 。
【vb.net随机值函数 vb中随机函数】vb.net随机值函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb中随机函数、vb.net随机值函数的信息别忘了在本站进行查找喔 。

    推荐阅读