js可以使用 Math(算數) 物件生成隨機數
js 可以使用 Math(算數) 物件來實現隨機數的生成。 |
需要了解的 Math 物件方法
方法 | 描述 |
---|---|
對數進行上舍入,即向上取整。 | |
對 x 進行下舍入,即向下取整。 | |
|
|
四捨五入。 | |
返回 0 ~ 1 之間的隨機數,包含 0 不包含 1。 |
一些例項說明:
Math.ceil(Math.random()*10); // 獲取從 1 到 10 的隨機整數,取 0 的機率極小。 Math.round(Math.random()); // 可均衡獲取 0 到 1 的隨機整數。 Math.floor(Math.random()*10); // 可均衡獲取 0 到 9 的隨機整數。 Math.round(Math.random()*10); // 基本均衡獲取 0 到 10 的隨機整數,其中獲取最小值 0 和最大值 10 的機率少一半。
因為結果在 0~0.4 為 0,0.5 到 1.4 為 1,8.5 到 9.4 為 9,9.5 到 9.9 為 10。所以頭尾的分佈區間只有其他數字的一半。
生成 [n,m] 的隨機整數
函式功能:生成 [n,m] 的隨機整數。
在 js 生成驗證碼或者隨機選中一個選項時很有用。
//生成從minNum到maxNum的隨機數 function randomNum(minNum,maxNum){ switch(arguments.length){ case 1: return parseInt(Math.random()*minNum+1,10); break; case 2: return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10); break; default: return 0; break; } }
過程分析:
Math.random() 生成 [0,1) 的數,所以 Math.random()*5 生成 {0,5) 的數。
通常期望得到整數,所以要對得到的結果處理一下。
parseInt(),Math.floor(),Math.ceil() 和 Math.round() 都可得到整數。
parseInt() 和 Math.floor() 結果都是向下取整。
所以 Math.random()*5 生成的都是 [0,4] 的隨機整數。
所以生成 [1,max] 的隨機數,公式如下:
// max - 期望的最大值 parseInt(Math.random()*max,10)+1; Math.floor(Math.random()*max)+1; Math.ceil(Math.random()*max);
所以生成 [0,max] 到任意數的隨機數,公式如下:
// max - 期望的最大值 parseInt(Math.random()*(max+1),10); Math.floor(Math.random()*(max+1));
所以希望生成 [min,max] 的隨機數,公式如下:
// max - 期望的最大值 // min - 期望的最小值 parseInt(Math.random()*(max-min+1)+min,10); Math.floor(Math.random()*(max-min+1)+min);
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2725556/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用Math類生成隨機數隨機
- Js Math隨機數JS隨機
- 巧用物件,生成不重複隨機數物件隨機
- 生成隨機數隨機
- JavaScript 隨機數方法 Math.random()JavaScript隨機random
- js生成隨機數程式碼例項JS隨機
- JavaScript 生成隨機數JavaScript隨機
- mysql生成隨機數MySql隨機
- 開源Math.NET基礎數學類庫使用(14)C#生成安全的隨機數C#隨機
- javascript隨機數函式Math.random()JavaScript隨機函式random
- [隨機數詳解]生成一個隨機數,生成指定範圍的隨機數及隨機陣列去重隨機陣列
- python生成隨機數、隨機字串Python隨機字串
- 隨機數生成器隨機
- java隨機數生成原理Java隨機
- 生成隨機整數方法隨機
- python 隨機數生成Python隨機
- C++生成隨機數C++隨機
- 【原創】開源Math.NET基礎數學類庫使用(14)C#生成安全的隨機數C#隨機
- js隨機數生成器的擴充套件JS隨機套件
- js生成m-n之間的隨機數JS隨機
- Python分享之數學與隨機數 (math包,random包)Python隨機random
- Math類產生隨機數後保留一位小數隨機
- java Math數學工具及Random隨機函式Javarandom隨機函式
- 微信小程式生成隨機數微信小程式隨機
- 更安全的隨機數生成隨機
- 幾種生成隨機數方法隨機
- matlab 生成隨機數序列Matlab隨機
- 無重複隨機數生成隨機
- PHP 生成更好的隨機數PHP隨機
- 在oracle 中生成隨機數Oracle隨機
- Matlab 隨機生成兩個數值之間的隨機數Matlab隨機
- iOS生成最大最小數之間隨機數iOS隨機
- Linux Shell 生成隨機數和隨機字串Linux隨機字串
- 【原創】開源Math.NET基礎數學類庫使用(13)C#實現其他隨機數生成器C#隨機
- 偽隨機數是什麼?偽隨機數生成方法有哪些?隨機
- js生成一定範圍內的隨機整數JS隨機
- Golang生成區間隨機整數Golang隨機
- Python生成隨機數random模組Python隨機random