| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | //#region 函数区域Namespace.register("U.UF.Math");/*** 获取一个随机数** @param  {number} 随机数的长度* @return  {number} 随机数*/U.UF.Math.getRandom = function (n) {    return Math.floor(Math.random() * n + 1);}/*** 获取两个数字间的随机数** @param  {number} 位置的开始* @param  {number} 位置的结束* @return  {number} 随机数*/U.UF.Math.randomRange = function (m, n) {    return Math.floor(Math.random() * Math.abs(n - m)) + (m > n ? n : m);}/*** 冒泡排序法的封装** @param  {array} 排序数组* @param  {string} 排序类型 * @param  {function} 判断执行函数* @param  {number} 是否是升序降序----------[-1] 升序----------[1] 降序*/U.UF.Math.sequence = function (arr, str, fun, num) {    if (arr) {//是否存在数组        var _num;        arr = arr.sort(function (obj1, obj2) {//arr.sort()根据条件,对json数组进行排序            if (fun(obj1[str], obj2[str])) {//是否是升序降序                _num = (-1) * (num || 1); //num=-1升序            } else {                _num = 1 * (num || 1); //num=1 降序            }            return _num;        });        return arr;    };}/***浮点数运算函数JavaScript浮点运算的一个bug。 比如:7*0.8 JavaScript算出来就是:5.6000000000000005* 数字计算 解决浮点的bug** @param  {number} 数字1* @param  {number} 数字2* @param  {string} 连系符号 + - * /*/U.UF.Math.floatOperate = function (number1, number2, operator) {    var i, //循环初始化        _pow, ////用于存放数据的变量        _strarr = [String(number1), String(number2)]; //用于存放数据的数组    //获取变成整数差几位    for (i = 0; i < 2; i++) {        _strarr[i + 2] = _strarr[i].length - _strarr[i].indexOf(".") - 1;    }    //变成整数的幂    _pow = Math.pow(10, Math.max(_strarr[2], _strarr[3]));    //运算得出结果    return (eval("0," + _strarr[0] * _pow + operator + _strarr[1] * _pow)) / _pow;}
 |