//MSDN
สุ่ม
หากต้องการสร้างจำนวนเต็มสุ่มภายในช่วง ให้ใช้สูตรต่อไปนี้: Int((upperbound-lowerbound+1)*Rnd+lowerbound)
ในที่นี้ ขอบบนคือขีดจำกัดบนของช่วงตัวเลขสุ่ม และขอบเขตล่างคือขีดจำกัดล่างของช่วงตัวเลขสุ่ม
---- ฟังก์ชั่นสุ่มใน VB คือ Rnd แต่ระหว่างการใช้งานผมพบว่าแม้ค่าที่สร้างขึ้นหลังจากโปรแกรมเริ่มทำงานจะเป็นแบบสุ่ม แต่โปรแกรมจะสร้างลำดับตัวเลขสุ่มเหมือนกันทุกครั้ง เริ่มต้นใหม่ ฉันควรทำอย่างไร?
---- ต้นแบบของฟังก์ชันสุ่มใน VB คือ: Rnd(number) ฟังก์ชัน Rnd ส่งคืนค่าน้อยกว่า 1 แต่มากกว่าหรือเท่ากับ 0 ค่าของตัวเลข (เป็นทางเลือก) กำหนดวิธีที่ Rnd สร้างตัวเลขสุ่ม เนื่องจากการกำหนดวิธีการสร้างตัวเลขสุ่ม ทุกครั้งที่เริ่มฟังก์ชันสุ่ม ซี๊ดที่กำหนดตั้งแต่แรกจะสร้างลำดับเดียวกัน เพราะทุกครั้งที่เรียกใช้ฟังก์ชัน Rnd จะใช้หมายเลขก่อนหน้าในลำดับเป็นซีเควนซ์ สำหรับหมายเลขถัดไป
---- เพื่อให้มีลำดับตัวเลขสุ่มที่แตกต่างกันทุกครั้งที่โปรแกรมที่รันอยู่เรียกใช้ฟังก์ชันสุ่ม ก่อนที่จะเรียก Rnd ให้ใช้คำสั่ง Randomize แบบไม่มีพารามิเตอร์ในการเริ่มต้นตัวสร้างตัวเลขสุ่มซึ่งมีข้อมูลเมล็ดที่ได้รับตามตัวจับเวลาของระบบ ด้วยวิธีนี้ หากคุณเรียก Rnd อีกครั้ง คุณจะได้ลำดับตัวเลขสุ่มที่แตกต่างออกไป
----นอกจากนี้ ตามหลักการทำงานของ Randomize ผู้ใช้ยังสามารถรวบรวมฟังก์ชันสุ่มของตนเองได้ กล่าวคือ ใช้ฟังก์ชัน Timer เพื่อรับจำนวนวินาทีที่ผ่านไปตั้งแต่เที่ยงคืนถึงตอนนี้ แล้วจึง "คำนวณ" ค่าตามขนาดของค่าสุ่มที่จะได้รับ" การประมวลผลค่าที่ได้รับด้วยวิธีนี้สามารถเรียกได้ว่าเป็นค่าสุ่มอย่างแท้จริง