Hari ini seorang rakan meminta saya nasihat: Cara menjana nombor rawak dalam julat tertentu menggunakan JavaScript. Saya percaya semua orang tahu bahawa Math.random() ialah kaedah yang digunakan untuk menjana nombor rawak. Walau bagaimanapun, manual rujukan am tidak menerangkan cara menggunakan kaedah ini untuk menjana nombor rawak dalam julat yang ditentukan. Kali ini saya akan memperkenalkan Math.random() secara terperinci dan cara menggunakannya untuk menjana nombor rawak dalam julat yang ditentukan.
tutorial rawak() w3school
Definisi dan penggunaan
Kaedah rawak() mengembalikan nombor rawak antara 0 ~ 1.
Tatabahasa
Math.random()
Nilai pulangan
Nombor rawak pseudo antara 0.0 ~ 1.0.
Contoh
Dalam contoh ini, kita akan mendapat nombor rawak antara 0 dan 1:
<script type="text/javascript"> document.write(Math.random()); </script> // 输出: 0.15246391076246546
Cara menjana nombor rawak dalam julat yang ditentukan
Selepas membaca tutorial w3school, anda harus mengetahui penggunaan asas kaedah Math.random().
Gunakan parseInt(), Math.floor() atau Math.ceil() untuk pembundaran
Kami melihat bahawa menggunakan kaedah Math.random() terus menjana nombor kurang daripada 1, jadi:
Math.random()*5
Hasil yang diperoleh adalah nombor rawak kurang daripada 5. Perkara yang biasanya kita harapkan untuk diperoleh ialah integer antara 0-5, jadi kita perlu membundarkan keputusan untuk mendapatkan integer yang kita jangkakan. parseInt(), Math.floor() dan Math.ceil() semuanya boleh memainkan peranan pembundaran.
var randomNum = Math.random()*5; alert(randomNum); // 2.9045290905811183 alert(parseInt(randomNum,10)); // 2 alert(Math.floor(randomNum)); // 2 alert(Math.ceil(randomNum)); // 3
Kita dapat melihat daripada kod yang diuji bahawa parseInt() dan Math.floor() mempunyai kesan yang sama, kedua-duanya membawa bahagian integer ke bawah. Jadi parseInt(Math.random()*5,10) dan Math.floor(Math.random()*5) kedua-duanya dijana nombor rawak antara 0-4, Math.ceil(Math.random()*5 ) ialah menghasilkan nombor rawak antara 1-5.
Hasilkan nombor rawak dalam julat yang ditentukan
Jadi, jika anda ingin menjana nombor rawak daripada 1 kepada sebarang nilai, formulanya ialah:
// max - 期望的最大值 parseInt(Math.random()*max,10)+1; Math.floor(Math.random()*max)+1; Math.ceil(Math.random()*max);
Jika anda ingin menjana nombor rawak daripada 0 kepada sebarang nilai, formulanya adalah seperti ini:
// max - 期望的最大值 parseInt(Math.random()*(max+1),10); Math.floor(Math.random()*(max+1)); 如果你希望生成任意值到任意值的随机数,公式就是这样的: // max - 期望的最大值 // min - 期望的最小值 parseInt(Math.random()*(max-min+1)+min,10); Math.floor(Math.random()*(max-min+1)+min);
Adakah anda telah mempelajari banyak perkara selepas membaca artikel ini? Adakah anda memahami penggunaan nombor rawak matematik rawak saya harap artikel ini dapat membantu anda, terima kasih!