Vb.net NET-如何在一定步长范围内生成随机数?

Vb.net NET-如何在一定步长范围内生成随机数?,vb.net,random,range,Vb.net,Random,Range,我想生成一个范围内的随机数(比如说0到1之间),但要有一定的步长(比如说0.05)。 有一种方法可以做到这一点: random.randrange ( [start,] stop [,step] ) 因此,我的问题不是如何在一个范围内生成随机数,而是需要一种方法,通过特定的步长来实现这一点。 在.NET中如何实现这一点?您可以生成一个介于0和20之间的随机整数,并将结果除以20 Dim rnd = New Random() Dim nextValue = rnd.Next(21) / 20

我想生成一个范围内的随机数(比如说0到1之间),但要有一定的步长(比如说0.05)。 有一种方法可以做到这一点:

random.randrange ( [start,] stop [,step] )
因此,我的问题不是如何在一个范围内生成随机数,而是需要一种方法,通过特定的步长来实现这一点。
在.NET中如何实现这一点?

您可以生成一个介于0和20之间的随机整数,并将结果除以20

Dim rnd = New Random()
Dim nextValue = rnd.Next(21) / 20

这将以0.05的增量为您提供一个介于0和1(含)之间的随机数

您可以尝试以下方法:

  Dim objRandom As New System.Random
  Label1.Text = Math.Round(objRandom.NextDouble() * 2, 1) / 2
因此,您创建一个随机双精度,并将其四舍五入为一位数字(例如:0.8)。

然后你把它除以2,得到你想要的

你应该可以通过一些数学计算出来。@bluebox如果你有一个范围,如果你想从95开始呢