.NET - 如何生成指定步长范围内的随机数?

3

我想在某个范围内(比如0到1之间)生成随机数,但是要有特定的步长(比如0.05)。

有一个Python函数可以完美地实现这一点:

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

我的问题不是如何在某个范围内生成随机数,而是需要以一定的步长生成随机数。在.NET中应该如何实现?


1
你应该能够通过一些数学计算来解决它。 - Andrew Morton
2个回答

5
您可以生成一个在0和20之间的随机整数,然后将结果除以20。
Dim rnd = New Random()
Dim nextValue = rnd.Next(21) / 20

这将给你一个介于0和1之间(包括0和1)的随机数字,以0.05为增量。

@bluebox 如果你想从95开始,该怎么办? - RTarson

0
你可以尝试这样做:
  Dim objRandom As New System.Random
  Label1.Text = Math.Round(objRandom.NextDouble() * 2, 1) / 2

你可以创建一个随机的双精度浮点数,然后将其四舍五入到一位小数(例如:0.8)。
然后将其除以2,就可以得到你想要的结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接