Rumah >hujung hadapan web >tutorial js >Nombor rawak dalam rawak matematik javascript Bagaimana untuk menjana nombor rawak dalam julat nilai yang ditentukan _kemahiran javascript

Nombor rawak dalam rawak matematik javascript Bagaimana untuk menjana nombor rawak dalam julat nilai yang ditentukan _kemahiran javascript

WBOY
WBOYasal
2016-05-16 15:35:532095semak imbas

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn