JS進位取捨和產生隨機數結合

來源:互聯網
上載者:User

標籤:

一、進位取整

      最開始,先來看一下JS中進位取捨的幾個小樣本:

//JS進位取捨//向上取整alert(Math.ceil(25.9));//列印:26alert(Math.ceil(25.5));//列印:26alert(Math.ceil(25.1));//列印:26//向下取整alert(Math.floor(25.9));//列印:25alert(Math.floor(25.5));//列印:25alert(Math.floor(25.1));//列印:25//標準取整(四捨五入)alert(Math.round(25.9));//列印:26alert(Math.round(25.5));//列印:26alert(Math.round(25.1));//列印:25//-----------------------------------------------------------------------------------
從上面的樣本很容易看出不同取捨函數的效果:

       向上取整,如果小數部分大於0,則經過“向上取整”後,將在取得除去小數的整數部分+1的數(如(25.1,取26)。
      向下取整,無論小數部分為多少,都直接捨去,只取除去小數剩餘的整數部分(如25.9,取25)。

      標準取整,四捨五入,小數部分小於0.5的捨去小數,只取整數(如25.2,則取25);小數部分大於等於0.5的,取截去小數後的整數部分+1的整數(如25.7,則取26)。

二、產生隨機數

<pre name="code" class="html">//產生隨機數//(0,1):產生0到1之間,不包括0和1的隨機數1個。(顯示方式:alert()為彈窗顯示)alert(Math.random());//-----------------------------------------------------------------------//10個隨機數:0到1之間,不包括0和1。(顯示方式:document.write()為頁面顯示)for(var i=0;i<=10;i++){document.write(Math.random());document.write('<br/>');}//-----------------------------------------------------------------------


三、進位取整與產生隨機數結合及運用

//[1,10]的隨機數10個for(var i=0;i<=10;i++){document.write(Math.floor(Math.random()*10 + 1));document.write('<br/>');}//-----------------------------------------------------------------------//[0,10]的隨機數10個for(var i=0;i<=10;i++){document.write(Math.round(Math.random()*10));document.write('<br/>');}//其中一個樣本“10,6,9,10,3,0,3,2,5,4,2”-----------------------------------------------------------------------//[5,14]的隨機數10個for(var i=0;i<=10;i++){document.write(Math.floor(Math.random()*10+ 5));document.write('<br/>'); }//-----------------------------------------------------------------------//[5,10]的隨機數10個for(var i=0;i<=10;i++){document.write(Math.floor(Math.random()*(10-5+1)+ 5));document.write('<br/>');}//-----------------------------------------------------------------------//列印[10~100]的隨機數10個documentDataArray(10,100,10);      列印:其中一個樣本“95,38,44,75,69,82,24,22,37,75”// ///sum// ///產生隨機數組,產生[start,end]之間的num個隨機數(包括數start和end)// ///sumfunction select(start,end,num) {//定義一個數組var item = new Array();//迴圈產生隨機數for (var i=0;i<num;i++) {var total = end - start +1;var result = Math.floor(Math.random() * total + start);//將產生的隨機數 放入數組中item.push(result);}return item}function documentDataArray(start,end,num){var item = new Array();item = select(start,end,num);for (var j = 0;j<num;j++) {document.write(item[ j ]);document.write('<br/>');}}//-----------------------------------------------------------------------//列印(10~100)的隨機數10個documentDataArray(10,100,10);function documentDataArray(start,end,num){//其中一個樣本為“12,15,38,74,53,25,64,73,89,88”共10個var item = new Array();item = select(start,end,num);for (var j = 0;j<num;j++) {document.write(item[ j ]);document.write('<br/>');}} // ///sum// ///產生隨機數組,產生(start,end)之間的num個隨機數(不包括數start和end。)// ///sumfunction select(start,end,num){//定義一個數組var item = new Array();//迴圈產生隨機數for (var i=0;i<num;i++) {var total = end - start +1;var result = Math.floor(Math.random() * total + start);//將產生為start和end的隨機數移除【是否包括start或end,只需在此簡單更改即可】if (result==start || result==end) {//重新產生一個隨機數--i;} else {//將產生的隨機數 放入數組中item.push(result);}}return item}//-----------------------------------------------------------------------------------
      上面的的隨機數可以用於簡單的驗證碼;當然,有更加簡便且豐富的驗證碼產生方式,用Regex產生0~9,、a~z、A~Z的隨機字元。



JS進位取捨和產生隨機數結合

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.