小数点を含む乱数を取得。
乱数の精度はあまりよくないかも。
※モジュールに変更しました(2012/3/22)
WINDOW_APP.util.numberUtil = (function () {
/**
* 乱数を取得
*
* @param max {Number} 乱数の最大値
* @param [min = 0] {Number} 乱数の最小値
* @param [decimal = 0] {uint} 小数点の桁数
*/
function random(max, min, decimal) {
var
decimalPoint, //小数点のべき乗
minimum,
rnd,
result; //minがマイナスのときは繰り上げの処理をきりかえ
if(max <= min) {
return false;
}
decimalPoint = Math.pow(10, (decimal > 0) ? decimal : 0); //小数点のべき乗
minimum = min || 0;
rnd = (Math.random() * (max * decimalPoint - minimum * decimalPoint + 1)) + minimum * decimalPoint;
result = (rnd > 0) ? rnd | 0 : rnd - 1 | 0; //Math.floor() or Math.ceil()
return result / decimalPoint;
}
//public
return {
random: random
}
}());
//example
console.log(WINDOW_APP.util.numberUtil.random(10)); //0~10
console.log(WINDOW_APP.util.numberUtil.random(10, 5)); //5~10
console.log(WINDOW_APP.util.numberUtil.random(10, 0, 2)); //0~10.00
console.log(WINDOW_APP.util.numberUtil.random(-10, -20, 2)); //-20.00~-10.00
ソース:
random.js
random.min.js(圧縮版)