123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- module.exports = {
- /**
- * +
- * @param arg1
- * @param arg2
- * @returns {number}
- */
- add: function(arg1, arg2) {
- var r1, r2, m;
- try {
- r1 = arg1.toString().split(".")[1].length
- } catch (e) {
- r1 = 0
- }
- try {
- r2 = arg2.toString().split(".")[1].length
- } catch (e) {
- r2 = 0
- }
- m = Math.pow(10, Math.max(r1, r2))
- return (arg1 * m + arg2 * m) / m
- },
- /**
- * -
- * @param arg1
- * @param arg2
- * @returns {number}
- */
- sub: function(arg1, arg2) {
- var r1, r2, m, n;
- try {
- r1 = arg1.toString().split(".")[1].length
- } catch (e) {
- r1 = 0
- }
- try {
- r2 = arg2.toString().split(".")[1].length
- } catch (e) {
- r2 = 0
- }
- m = Math.pow(10, Math.max(r1, r2));
- n = (r1 >= r2) ? r1 : r2;
- return ((arg1 * m - arg2 * m) / m).toFixed(n);
- },
- /**
- * *
- * @param arg1
- * @param arg2
- * @returns {number}
- */
- mul: function(arg1, arg2) {
- var m = 0,
- s1 = arg1.toString(),
- s2 = arg2.toString();
- try {
- m += s1.split(".")[1].length
- } catch (e) {}
- try {
- m += s2.split(".")[1].length
- } catch (e) {}
- return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)
- },
- /**
- * /
- * @param arg1
- * @param arg2
- * @returns {number}
- */
- div: function(arg1, arg2) {
- var t1 = 0,
- t2 = 0,
- r1, r2;
- try {
- t1 = arg1.toString().split(".")[1].length
- } catch (e) {}
- try {
- t2 = arg2.toString().split(".")[1].length
- } catch (e) {}
- r1 = Number(arg1.toString().replace(".", ""))
- r2 = Number(arg2.toString().replace(".", ""))
- return this.mul((r1 / r2), Math.pow(10, t2 - t1));
- },
- /**
- * 保留有效小数位 四舍五入,解决toFixed方法bug
- * @param num 需要操作的数字
- * @param decimal 保留小数的位数
- * @returns {string}
- */
- toFixed: function(num, decimal) {
- if(typeof decimal == 'undefined'){
- decimal = 2;
- }
- var times = Math.pow(10, decimal)
- var des = num * times + 0.5
- des = (parseInt(des, 10) / times).toString()
- if(decimal > 0){
- var arr = des.split('.')
- var len = decimal;
- if(arr.length == 1){
- des += '.';
- }else{
- len = decimal - arr[1].length;
- }
- for (let i = 1; i <= len; i++) {
- des += '0';
- }
- }
- return des;
- },
- };
|