2020年5月7日 星期四

vb.net 隨機數生成的幾種方法 [Random Number]


vb 和 vb.net 隨機數生成方法有所不同,vb隨機數生成方法是 Rnd,而 vb.net隨機數生成方法是 Random.Next()。vb.net生成隨機數變得更容易和方便,下面分別介紹它們生成隨機數的方法。


  一、vb隨機數生成的方法

  vb隨機數生成函數是 Rnd[(number)],number 參數為可選項。在調用 Rnd 生成隨機數之前,先使用 Randomize 初始化隨機數生成器來產生種子,該生成器是根據系統計時器來產生種子的。

  1、生成100以內的隨機數


  Randomize

  Int(Rnd() * 100)//生成 0 - 99 之間的隨機數

  Int(Rnd() * 101)//生成 0 - 100 之間的隨機數



    2、生成指定範圍隨機數

  由於 vb 沒有提供直接生成指定範圍隨機數的函數,所以要把 Rnd 變通一下,方法如下:

  Int((上限 - 下限 + 1) * Rnd + 下限);



  把它封裝成可直接調用的函數如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
  Function GetRandom(under, over As Integer) As Integer

    If under < over Then

      temp = under;

      under = over;

      over = temp;

    End If


    Randomize

    GetRandom = Int((under - over + 1) * Rnd + over);

  End Function



  調用方法:

  GetRandom(10, 100);//生成10到100的隨機數




  二、vb.net生成隨機數的方法

  1、方法:Random.Next(int minValue, int maxValue);



  2、說明:

  若 minValue 和 maxValue 都沒有提供,則生成一個 0 - 2147483647 之間的隨機數;

  若 minValue 和 maxValue 只提供一個,則生成一個 0 - maxValue 之間的隨機數;

  若 minValue 和 maxValue 兩個都提供,則生成一個 minValue - maxValue 之間的隨機數;



  3、舉例

  Dim ran = New System.Random()

  ran.Next()//生成 0 - 2147483647 之間的隨機數

  ran.Next(100)//生成 0 - 100 之間的隨機數

  ran.Next(10, 100)//生成 10 - 100 之間的隨機數

  Dim ran = New Random(DateTime.Now.Millisecond)//通過日期的微秒生成隨機數

沒有留言:

張貼留言