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;
- }
|