隨機數、數值轉換、數值擷取
阿新 • • 發佈:2018-12-15
1、生成固定範圍內的隨機數
/** * 生成從min到max的隨機數 * @param min * @param max * @returns */ function randomByTo(min,max){ // arguments.length表示的是實際上向函式傳入了多少個引數,這個數字可以比形引數量大,也可以比形引數量小(形引數量的值可以通過Function.length獲取到). switch(arguments.length){ case 1: return parseInt(Math.random()*min+1,10); break; case 2: return parseInt(Math.random()*(max-min+1)+min,10); break; default: return 0; break; } }
2、將數值換成 0.00 的格式
/** * 將傳入的數字轉換成 0.00 的格式 * @param num * @returns {String} */ function valToFloat2(num){ num = num.toString(); if(num.indexOf(".")< 0){ num = num +'.00'; }else{ if(num.split('.')[1].length==0){ num = num + '00'; }else if(num.split('.')[1].length==1){ num = num + '0'; }else{ num = num.split('.')[0]+'.'+num.split('.')[1].substr(1,2); } } // num = parseFloat(num); return num; }
3、擷取數值小數位
/** * 擷取小數 * @param val 需要擷取的值 * @param n 需要擷取小數的位數 * @returns {String} */ function cutDecimal(val,n){ var num = val.toString(); if(num.indexOf(".") < 0){ num = num+'.'; for(var i=0; i<n; i++){ num += '0'; } }else{ var len = num.split('.')[1].length; if(len<n){ num = num; for(var i=0; i<(n-len); i++){ num += '0'; } }else{ num = num.split('.')[0]+'.'+num.split('.')[1].substr(0,n); } } // num = parseFloat(num); return num; }
4、將科學計數法轉換成正常數值顯示
/**
* 將科學計數法轉換成正常數值顯示
* @param num
* @returns
*/
function scientificToNum(num){
let result = String(num);
if(result.indexOf('-') >= 0){
result = '0' + String(Number(result) + 1).substr(1);
}
return result;
}