VUE小数位问题:JS当中toFixed()方法5不进位问题的处理
“四舍六入五成双”:也即“4舍6入5凑偶”这里“四”是指≤4 时舍去,"六"是指≥6时进上,"五"指的是根据5后面的数字来定,当5后有数时,舍5入1;当5后无有效数字时,需要分两种情况来讲:①5前为奇数,舍5入1;②5前为偶数,舍5不进。(0是最小的偶数) 。
例如:5.325 结果:5.32 不进位
解决方案:重写toFixed
toFixed(number, precision = 2) { number = Math.round(+number + 'e' + precision) / Math.pow(10, precision) + ''; let s = number.split('.'); if ((s[1] || '').length < precision) { s[1] = s[1] || ''; s[1] += new Array(precision - s[1].length).fill('0').join(''); } return s.join('.'); }