Asp classic ASP-为两个不同种子返回相同值的随机化函数

Asp classic ASP-为两个不同种子返回相同值的随机化函数,asp-classic,Asp Classic,因此,我使用Rnd生成一个随机数,并随机设置一个种子,如下所示: Randomize lSeed Response.Write Rnd 我注意到,对于lSeed(例如123、124),它一行中的两个值返回相同的结果,但如果是125,它将返回一个新值,但126将与125的on相同。为什么会这样 编辑: 我试过这样的东西 Randomize Randomize lSeed Response.write Rnd 我得到的结果与上面描述的结果相同。在每次获得随机值之前,应该重新设定种子。我建议你设定

因此,我使用Rnd生成一个随机数,并随机设置一个种子,如下所示:

Randomize lSeed
Response.Write Rnd
我注意到,对于lSeed(例如123、124),它一行中的两个值返回相同的结果,但如果是125,它将返回一个新值,但126将与125的on相同。为什么会这样

编辑:

我试过这样的东西

Randomize
Randomize lSeed
Response.write Rnd

我得到的结果与上面描述的结果相同。

在每次获得随机值之前,应该重新设定种子。我建议你设定一个计时器。

你也可以设定一个当前的时间,这个时间看起来很好

这就是随机数的问题

' For ASP, you can create a function like:
Public Function RandRange(ByVal low As Integer, ByVal high As Integer) As Integer
    Randomize()
    Return ((Rnd() * (high - low)) + low)
End Function

' For ASP.NET, you can create a function like:
Private _rnd As System.Random()
Public Function RandRange(ByVal low As Integer, ByVal high As Integer) As Integer
    ' Purpose: Returns Random Integer between low and high, inclusive
    ' Note: _rnd variable must be defined outside of RandRange function
    If _rnd Is Nothing Then
        _rnd = New System.Random()
    End If
    Return _rnd.Next(low, high)
End Function

问题在于,在另一个环境中,种子的值太大(一个递增的数据库值)。最后,我做了value Mod 100来得到一些半随机的东西,这将是很低的,无法一直工作。

我尝试了重新播种。我编辑了上面的问题来解释我的尝试。我有时需要返回一致的结果,所以我需要根据我给它的值重新设定种子。如果你想要一致的结果,你可能不应该使用随机数。如果你提供相同的种子,你会从中得到相同的结果。你能展示一个更完整的重新设定吗,我没有得到你的结果,我得到的行为与你描述的不同。带有固定种子的单个随机化将获得唯一的序列。