如果你使用这个Math.round(),这个toFixed(),还有这个Math.pow(),保留小数位不好使,有可能情况就是小数位多的时候不是那么准确,有误差。如果是这样,那就请看过来,使用这个就好了
function roundFixed (num, fixed = 2) {
let nums = num.toString().split('.')
if (nums.length >= 2) {
let fixedNum = nums[1]
if (fixedNum.length > fixed) {
let fixedEndNum = fixedNum.substring(fixed, fixed + 1)
let nn = Number(nums[0] + '.' + fixedNum.substring(0, fixed))
if (Number(fixedEndNum) < 5) {
num = nn
} else {
let ff = 1 / Math.pow(10, fixed)
// console.log(nn,ff)
num = Number(num) < 0 ? nn - ff : nn + ff
}
}
}
// console.log(fixedNum.length)
return num.toFixed(fixed)
}