RND () เป็นฟังก์ชั่นที่สำคัญมากใน ASP หากคุณต้องการสร้างคำทักทายแบบสุ่มพรอมต์แบบสุ่มสำหรับวันที่ ฯลฯ คุณจะใช้ฟังก์ชั่นนี้แล้วคุณรู้วิธีใช้หรือไม่? ตอนนี้มาพูดคุยกับบรรณาธิการเพื่ออธิบายรายละเอียดเกี่ยวกับการใช้ ASP Random Number RND ()
ฟังก์ชัน ASP RND ()
ฟังก์ชั่น rnd () ส่งคืนหมายเลขสุ่มระหว่าง 0 ถึง 1
วิธีใช้เป็นดังนี้:
การคัดลอกรหัสมีดังนี้:Response.Write RND () 'ค่าคืนที่เป็นไปได้: 0.2357746
หากคุณต้องการใช้ฟังก์ชั่น RND () เพื่อส่งคืนจำนวนเต็มในช่วงที่กำหนดตัวอย่างเช่นตัวเลขที่มากกว่าหรือเท่ากับ 0 และน้อยกว่าหรือเท่ากับหรือเท่ากับค่าจำนวนเต็มที่เฉพาะเจาะจงคุณสามารถใช้วิธีการต่อไปนี้:
การคัดลอกรหัสมีดังนี้:Response.write int ((บน bound+1)*rnd)
ตัวอย่างเช่นคำสั่งต่อไปนี้จะส่งคืนจำนวนเต็มระหว่าง 0 ถึง 5 รวมถึง 0 และ 5:
การคัดลอกรหัสมีดังนี้:Response.write int ((5+1)*rnd)
หากคุณต้องการรับหมายเลขสุ่มในช่วงที่มีขอบเขตต่ำกว่า 0 คุณสามารถใช้วิธีการต่อไปนี้:
การคัดลอกรหัสมีดังนี้:Response.write int ((บนต่ำ-ต่ำกว่า+1)*rnd+ล่าง)
ตัวอย่างเช่นสคริปต์ต่อไปนี้สร้างจำนวนเต็มระหว่าง 50 และ 75 รวมถึง 50 และ 75:
การคัดลอกรหัสมีดังนี้:Response.write int ((75-50+1)*rnd+50)
อย่างไรก็ตามมีปัญหาที่สร้างหมายเลขสุ่ม แต่เป็นหมายเลขสุ่มเดียวกันทุกครั้ง สิ่งนี้อาจทำให้คุณไขปริศนา มีข้อความพิเศษที่สามารถช่วยแก้ปัญหานี้ได้นั่นคือคำสั่งสุ่ม
คำสั่งแบบสุ่มใช้เพื่อบังคับให้ฟังก์ชัน RND ใช้ลำดับใหม่ของตัวเลขสุ่ม คำสั่งแบบสุ่มให้ค่าเมล็ดพันธุ์ใหม่สำหรับฟังก์ชั่น RND ผ่านตัวจับเวลาระบบของคอมพิวเตอร์
ฟังก์ชั่น rnd () เป็นฟังก์ชั่นที่สำคัญมาก หากคุณต้องการสร้างคำทักทายแบบสุ่มพรอมต์แบบสุ่มสำหรับวันที่หรือแม้แต่เกมคุณจะต้องใช้ฟังก์ชั่นนี้
ฟังก์ชั่น rnd () ส่งคืนหมายเลขสุ่มระหว่าง 0 ถึง 1 นี่คือตัวอย่างของฟังก์ชันนี้และค่าส่งคืนที่เป็นไปได้:
<%= rnd ()%>
0.7055643
โดยทั่วไปคุณสนใจที่จะใช้ฟังก์ชั่นนี้เพื่อส่งคืนจำนวนเต็มภายในระยะที่กำหนด ในการส่งคืนตัวเลขที่มากกว่าหรือเท่ากับ 0 และน้อยกว่าจำนวนเต็มที่เฉพาะเจาะจงคุณสามารถใช้คำสั่งต่อไปนี้:
<%= int ((บน bound+1)*rnd)%>
แทนที่การแสดงออกส่วนบนด้วยจำนวนสุ่มสูงสุดที่คุณต้องการสร้าง ตัวอย่างเช่นสคริปต์ต่อไปนี้ส่งคืนตัวเลขระหว่าง 0 ถึง 5 รวมถึง 0 และ 5:
<%= int (5+1)*rnd)%>
หากคุณต้องการสร้างหมายเลขสุ่มภายในช่วงที่มีขอบเขตต่ำกว่า 0 คุณสามารถใช้สคริปต์ต่อไปนี้:
<%= int ((บนสุด - ล่าง - ล่าง + 1)*rnd + ล่าง)%>
ตัวอย่างเช่นสคริปต์ต่อไปนี้สร้างหมายเลขสุ่มระหว่าง 50 และ 75 (รวมถึง 50 และ 75):
<%= int ((75-50+1)*rnd+50)%>
เมื่อใดก็ตามที่คุณใช้ฟังก์ชั่น rnd () มันจะส่งคืนตัวเลขสุ่มเดียวกันในลำดับเดียวกันซึ่งอาจทำให้คุณประหลาดใจ พิจารณาตัวอย่างต่อไปนี้:
การคัดลอกรหัสมีดังนี้:-
pick_greeting = int ((2+1)*rnd)
เลือก case pick_greeting
กรณี 0
ทักทาย =” ยินดีต้อนรับ!”
กรณีที่ 1
ทักทาย = "สวัสดี!"
กรณีที่ 2
ทักทาย =” มีความสุขที่ได้พบคุณ!”
สิ้นสุดเลือก
-
<%= ทักทาย%>
สคริปต์นี้สร้างและพิมพ์คำทักทายแบบสุ่ม อย่างไรก็ตามมันอาจไม่ได้ผลในแบบที่คุณคิดว่าเป็น เมื่อใดก็ตามที่มีคนดาวน์โหลดเว็บเพจที่มีสคริปต์นี้จะมีการพิมพ์คำอวยพรแบบสุ่มเดียวกัน หากมีคนกลับมาที่หน้านี้หลายครั้งเขาหรือเธอจะได้รับการทักทายเดียวกัน ตัวเลขสุ่มถูกสร้างขึ้น แต่เป็นหมายเลขสุ่มเดียวกันทุกครั้ง
มีข้อความพิเศษที่สามารถช่วยแก้ปัญหานี้ได้ คำสั่งแบบสุ่มใช้เพื่อบังคับฟังก์ชัน rnd () เพื่อใช้ลำดับใหม่ของตัวเลขสุ่ม คำสั่งแบบสุ่มให้ค่าเมล็ดใหม่สำหรับฟังก์ชั่น rnd () ผ่านตัวจับเวลาระบบของคอมพิวเตอร์ ตัวอย่างต่อไปนี้แสดงวิธีแก้ไขตัวอย่างด้านบนเพื่อทำงานอย่างถูกต้อง:
การคัดลอกรหัสมีดังนี้:-
สุ่ม
pick_greeting = int ((2+1)*rnd)
เลือก case pick_greeting
กรณี 0
ทักทาย =” ยินดีต้อนรับ!”
กรณีที่ 1
ทักทาย = "สวัสดี!"
กรณีที่ 2
ทักทาย =” มีความสุขที่ได้พบคุณ!”
สิ้นสุดเลือก
-
<%= ทักทาย%>
สคริปต์นี้ใช้งานได้อย่างถูกต้อง ทุกครั้งที่สคริปต์นี้ถูกดำเนินการจะมีการทักทายแบบสุ่มใหม่ คำสั่งแบบสุ่มบังคับให้ฟังก์ชั่น rnd () ใช้ลำดับใหม่ของตัวเลขสุ่ม
ในที่สุดหากคุณอยากรู้เกี่ยวกับการกระจายของค่าตัวเลขที่สร้างโดยฟังก์ชั่น rnd () คุณสามารถใช้สคริปต์ต่อไปนี้เพื่อกำหนด:
การคัดลอกรหัสมีดังนี้:-
const Upperbound = 9, ซ้ำ = 100
REDIM DIST (ตอนบน)
สุ่ม
สำหรับ i = 1 ถึงการทำซ้ำ
rnd_num = int ((บน bound+1)*rnd)
dist (rnd_num) = dist (rnd_num) & "#"
ต่อไป
สำหรับ i = 0 ถึง Upperbound
-
<%= i & ":" & dist (i)%> <br>
-
ต่อไป
-
สคริปต์นี้สร้างตัวเลขสุ่ม 100 ตัวระหว่าง 0 ถึง 9 มันติดตามจำนวนตัวเลขสุ่มที่สร้างขึ้นสำหรับแต่ละค่า ในที่สุดมันก็พิมพ์แผนภูมิแท่งที่แสดงผลลัพธ์
ด้านบนเป็นคำอธิบายโดยละเอียดของบรรณาธิการเกี่ยวกับการใช้หมายเลขสุ่ม ASP RND () ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณต้องการดูเนื้อหาที่เกี่ยวข้องเพิ่มเติมโปรดติดตามช่องเทคโนโลยีของ Woxin ขอบคุณสำหรับการสนับสนุน!