fixD: function(num, precision) {
if (num + '' === '0') {
return num;
}
if (!num) {
return '--';
}
var newnum = parseFloat(num) + '';
if (newnum === 'NaN') {
return '--';
}
var fixNum = newnum;
if (Number(num) === parseInt(Number(num))) {
if (Number(precision) === 0) {
return num;
} else {
// return `${Number(num)}.${'0'.repeat(precision)}`
return Number(num) + '.' + '0'.repeat(precision);
}
}
if (newnum.toLowerCase().indexOf('e') > -1) {
var a = newnum.toLowerCase().split('e');
var b = a[0];
var c = Math.abs(parseFloat(a[1]));
var d = '';
var h = b.length;
var i;
if (a[0].split('.')[1]) {
b = a[0].split('.')[0] + a[0].split('.')[1];
h = a[0].split('.')[0].length;
}
for (i = 0; i < c - h; i++) {
d = d + '0';
}
fixNum = '0.' + d + b;
}
// 精度格式化
// precision初始化
if (!precision) {
return fixNum;
}
if (parseFloat(num) + '' === 'NaN') {
return fixNum;
}
var fNum = (fixNum + '').split('.');
if (!fNum[1]) {
fixNum = parseFloat(fixNum).toFixed(precision);
} else if (precision === 0) {
fixNum = parseInt(fixNum, 10);
} else if (fNum[1].length > precision) {
fixNum = fNum[0] + '.' + fNum[1].substr(0, precision);
} else {
fixNum = parseFloat(fixNum).toFixed(precision);
}
return fixNum;
},