// 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 '';
}
}
网友评论