// obj: 需要补零的数据
// num: 需要的小数位数
addZero (obj, num) {
if (obj === null || obj === '') return
if (!num) return obj
let _obj = String(obj)
let newObj = ''
if (_obj.indexOf('.') !== -1) { // 有小数
let splitObj = _obj.split('.')
if (splitObj[1].length < num) { // 小数位不足
let addCount = num - splitObj[1].length
for (let i = 0; i < addCount; i++) {
splitObj[1] = splitObj[1] + '0'
}
newObj = splitObj[0] + '.' + splitObj[1]
} else if (splitObj[1].length > num) { // 小数位超出
// 四舍五入
let substrObj = splitObj[1].substr(0, num + 1)
if (Number(substrObj[num]) >= 5) {
let o1 = splitObj[1].split('')
o1[num - 1] = String(Number(substrObj[num - 1]) + 1)
splitObj[1] = o1.join('')
}
// 去掉多余小数位
let delCount = splitObj[1].length - num
for (let i = 0; i < delCount; i++) {
splitObj[1] = splitObj[1].substring(0, splitObj[1].length - 1)
}
newObj = splitObj[0] + '.' + splitObj[1]
} else if (splitObj[1].length === num) { // 小数位相等
newObj = _obj
}
} else { // 无小数
for (let i = 0; i < num; i++) {
newObj = newObj + '0'
}
newObj = _obj + '.' + newObj
}
// console.log('最终结果:', newObj)
return newObj
}
let a = 9
let b = 9.1
let c = 9.001
console.log('a: ', this.addZero(a, 2)) // a: 9.00
console.log('b: ', this.addZero(b, 3)) // b: 9.100
console.log('c: ', this.addZero(c, 1)) // c: 9.0
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191205191734306.png)