.NET - 如何在具有特定步长的范围内生成随机数?

时间:2012-11-05 11:31:10

标签: vb.net random range

我想生成一个范围内的随机数(比如介于0和1之间) - 但是具有一定的步长(比如0.05)。 有一个python function就是这样做的:

random.randrange ( [start,] stop [,step] )

所以我的问题不是如何在一个范围内生成随机数 - 而是我需要一种方法来执行某个步长。 如何在.NET中完成?

2 个答案:

答案 0 :(得分:5)

您可以生成0到20之间的随机整数,并将结果除以20

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

这将为您提供0到1(含)之间的随机数,以0.05为增量

答案 1 :(得分:0)

你可以尝试这样的事情:

  Dim objRandom As New System.Random
  Label1.Text = Math.Round(objRandom.NextDouble() * 2, 1) / 2

因此,您创建一个随机双精度并将其四舍五入到一位数(例如:0.8) 然后你将它除以2,你得到你想要的东西