• js 加减乘除以及四舍五入 新写法


    1 四舍五入

    eg: (1.23).round() = 1.2

    (1.2456).round(3) = 1.246

    Number.prototype.round = function (count) {
        var res = 0;
        var val = this.toString();
        var num = parseInt(count || 2);
        var dataArr = val.split('.');
        var arr1 = dataArr[0] || "";
        var arr2 = dataArr[1] || "";
        var newArr2 = arr2;
        if (arr2.length > num) {
          var lastNum = arr2.substring(num, num + 1);
          if (parseInt(lastNum) >= 5) {
            newArr2 = parseInt(newArr2.substring(0, num)) + 1;
            newArr2 = newArr2.toString();
            if(newArr2.length<num){
              for(var i =0; i< (num - newArr2.length); i ++){
                newArr2 = "0" + newArr2;
              }
            }
            else if (newArr2.length > num) {
                arr1 = (parseInt(arr1) + 1).toString();
                newArr2 = newArr2.substring(1, 3);
            }
          }
        }
    
        val = parseFloat(arr1 + '.' + newArr2);
        res = parseFloat(val.toFixed(num));
        return res;
      }

    2 加减乘除

    eg: (1).plus(2) = 3

    if (!Number.prototype.plus) { //'+'
        Number.prototype.plus = function (addend) {
            var arg1 = this,
                arg2 = addend;
            var r1,
                r2,
                m,
                num1,
                num2;
            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));
            num1 = r1 == 0 ? parseInt(arg1 * m) : (parseInt(`${arg1.toString().replace('.', '')}`) * m / (Math.pow(10, r1)));
            num2 = r2 == 0 ? parseInt(arg2 * m) : (parseInt(`${arg2.toString().replace('.', '')}`) * m / (Math.pow(10, r2)));
            return (num1 + num2) / m;
        }
    }
    
    if (!Number.prototype.minus) { //'-'
        Number.prototype.minus = function (Subtraction) {
            var arg1 = this,
                arg2 = Subtraction;
            var r1,
                r2,
                m,
                n,
                num1,
                num2;
            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;
            num1 = r1 == 0 ? parseInt(arg1 * m) : (parseInt(`${arg1.toString().replace('.', '')}`) * m / (Math.pow(10, r1)));
            num2 = r2 == 0 ? parseInt(arg2 * m) : (parseInt(`${arg2.toString().replace('.', '')}`) * m / (Math.pow(10, r2)));
            return parseFloat(((num1 - num2) / m).toFixed(n));
        }
    }
    
    if (!Number.prototype.multiply) { //'*'
        Number.prototype.multiply = function (multiple) {
            var arg1 = this,
                arg2 = multiple;
            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)
        }
    
        if (!Number.prototype.devide) { //'/'
            Number.prototype.devide = function (divisor) {
                var arg1 = this,
                    arg2 = divisor;
                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 (r1 / r2).multiply(Math.pow(10, t2 - t1));
            }
        }
    }
  • 相关阅读:
    Spring Boot初学
    Spring MVC必须知道的执行流程
    日志Log4j使用
    SpringMVC处理中文乱码
    Maven设置阿里云镜像
    Maven项目中配置文件导出问题
    使用Limit实现分页
    web项目中设置首页
    JVM 学习笔记记录
    Python内存管理&垃圾回收机制
  • 原文地址:https://www.cnblogs.com/zxhome/p/10342313.html
Copyright © 2020-2023  润新知