代码之家  ›  专栏  ›  技术社区  ›  stanigator

更真实的随机数生成器

  •  4
  • stanigator  · 技术社区  · 16 年前

    我知道我可以使用一个准随机数生成函数/变量称为RND。但是,我注意到,每当我在用户窗体中使用RND时,总是会显示以下数字序列:

    第一次迭代:0.705547511577606 第二次迭代:0.53342401981538 …

    因此,每次我重新启动用户窗体时,显示的数字序列都是相同的,这并不是随机的。在vba函数集中是否有其他函数会让它感觉更随机?事先谢谢。

    3 回复  |  直到 16 年前
        1
  •  10
  •   Travis Beale    16 年前

    尝试将单个呼叫添加到 Randomize Timer 在你打电话给 Rnd . 这将使用一天中的时间对随机数生成器进行种子设定。

        2
  •  2
  •   Luke    16 年前

    我对VB不太了解,但我认为你需要 种子 你的号码生成器。我想 Randomize 是用VB做的。

        3
  •  0
  •   CalfordMath    10 年前

    您可以根据一天中的时间手动设置种子…在VBA代码顶部插入类似的内容:

    For i = 0 To (CInt(Format(Time, "ms"))) 'minutes and seconds turned to integer
            test_random = Rnd()
        Next