小数点后留两位,多删,少加
需求:
计算获取到的价格中的总价,之后保留两位小数
// 计算总金额
let allPlice = 0
res.result.list.forEach(item => { // 循环对总价格进行计算
allPlice += Number(item.totalAmountTax)
this.setData({
allplice: allPlice
})
})
let a = String(this.data.allplice).indexOf(".") + 1 // 获取小数点前的长度
let b = String(this.data.allplice).length - a // 计算小数点后的长度
console.log('小数点后的长度=================>', b);
if (b = 0) { // 如果小数点后没有的小数,拼接两个‘0’
this.setData({
allplice: this.data.allplice + '00'
})
} else if(b = 1) { // 如果小数点后有一个的小数,拼接一个‘0’
this.setData({
allplice: this.data.allplice + '0'
})
} else if (b > 2) { // 如果小数点后的小数大于2,将多余的进行删除
console.log(this.data.allplice.toFixed(2));
this.data.allplice = this.data.allplice.toFixed(2)
this.setData({
allplice: this.data.allplice
})
}
console.log(this.data.allplice);
一般情况下,由于请求数据的条数的限制,在前端是不会出现对数据进行计算的情况的,后端返回直接进行渲染