计算出的结果本来应该为13.8386,但是这里因为js精度问题,导致后边多了一串的0000001。
npm install decimal.js
import Decimal from 'decimal.js';
// 这里一定要用Decimal来初始化
this.totalPrice = new Decimal(0)
// 循环遍历数组
this.medicine.map(item => {
// 数量
const num = new Decimal(item.num);
// 单价
const price = new Decimal(item.price);
// 数量*单价
const product = num.times(price);
// 只有用Decimal初始化后,才会有plus这个方法
// 求总价
this.totalPrice = this.totalPrice.plus(product);
})
// 把totalPrice转为数字类型
this.totalPrice = this.totalPrice.toNumber();