小数点を含む乱数を取得。
乱数の精度はあまりよくないかも。
※モジュールに変更しました(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(圧縮版)