解决前端toFixed四舍五入的不准确性
/**
* 小数四舍五入 round(1.005, 2) = 1.01
* @param {*} number
* @param {*} precision
* @returns
*/
function round(number, precision) {
return Math.round(+number + 'e' + precision) / Math.pow(10, precision)
}
解决前端计算数字精度丢失问题
/**
* 数字精度丢失 strip(0.1+0.2) = 0.3
* @param {*} num
* @param {*} precision
* @returns
*/
function strip(num, precision = 12) {
return +parseFloat(num.toPrecision(precision))
}