在工作時遇到excel裡用到隨機數,發現在vba中,如果使用rnd取隨機數,實際上取到只是1~65535分之一,並且取到的這種偽隨機數順序還是一定的。如想用系統時間做種子在此範圍內取乙個數充當隨機數,需要在rnd的前面加上randomize。
下面是我工作裡使用的一段vba**,使用了系統時間做隨機種子
private
sub commandbutton1_click(
) rname = [a65536].end
(xlup).row
nadd = [c65536].end
(xlup).row
if rname -
1>
0and nadd -
1>
0then
for i =
2to rname
randomize
j =int(
rnd*
(nadd -2+
1)+2
) range(
"b"& i)
= range(
"c"& j)
+" "
+ range(
"a"& i).text
next
else
range(
"b:b"
).clearcontents
msgbox "proname不能為空"
endifend
sub
在c#中,r=new random() 等於 r=new random(datetime.now),這樣取隨機數也沒問題,但對於應用更為廣泛的c#來說,如果是客戶端裡這樣取的話,那麼所有客戶端在同一時間內取到的隨機數都是一樣的。
所以客戶端裡的隨機數最好這樣取:
private
string
createrandomcode
(int codecount)
return rancode;
}
總結:guid.newguid().gethashcode()對於同一時間內每台機器都是不同的,這樣取到的隨機數不會造成上述問題。 MySQL中如何取隨機數
現在,假設需要產生234到5678之間的隨機整數,mysql下怎麼實現。我們無法改mysql下rand的產生值,但我們可以改變我們的需求,1 我們需要最小是234,最大是5678,rand產生的最小是0,最大是1,我們需求的數減去234看看?最小數234 234 0,最大數5678 234 5444...
ojbc 取隨機數
隨機數的使用 1 arc4random 比較精確不需要生成隨機種子 使用方法 通過arc4random 獲取0到x 1之間的整數的 如下 int value arc4random x 獲取1到x之間的整數的 如下 int value arc4random x 1 2 ccrandom 0 1 coc...
PHP 取隨機數
假設 有四個選項 a 佔 10 b佔20 c佔30 d 佔 40 原理就是現獲取隨機數,然後找區間。當然了,選項的數量可以任意。目前預設是 總和是 100 如果需要別的數,修改 隨機數的範圍即可。這個演算法,比較簡單,效率也還算高。當然因為是 rand 所以產生的是偽隨機數,不是真正意義上的隨機,能...