JS 对数值真正四舍五入及添加千分号符合

   // js精度四舍五入
    roundFixed(num, fixed = 2) {
      if (num) {
        let pos = num.toString().indexOf('.');
        let decimalPlaces = num.toString().length - pos - 1;
        let _int = num * Math.pow(10, decimalPlaces);
        let divisor1 = Math.pow(10, decimalPlaces - fixed);
        let divisor2 = Math.pow(10, fixed);
        return Math.round(_int / divisor1) / divisor2;
      } else {
        return 0;
      }
    }

//数据格式话保留小数位并添加千分位
    numFormat(val, num = 2) {
      if (val && val != null) {
        val = String(val);
        var left = val.split('.')[0];
        var right = val.split('.')[1];
        right = right ? (right.length >= num ? '.' + right.substr(0, num) : '.' + right + '0') : '.00';
        var temp = left.split('').reverse().join('').match(/(\d{1,3})/g);
        return (Number(val) < 0 ? '-' : '') + temp.join(',').split('').reverse().join('') + right;
      } else if (val === 0) { // 注意===在这里的使用,如果传入的val为0,if中会将其判定为boolean类型,故而要另外做===判断
        return '0.00';
      } else {
        return '';
      }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。