js精度丢失处理方法
/**
* 处理js除法精度丢失问题,去除无效数据和无效0
* @param {*} dividend 被除数
* @param {*} divisor 除数
* @returns 返回结果,去除无效0
*/
preciseDivision(dividend, divisor) {
if (dividend) {
if (divisor === 0) {
throw new Error("Divisor cannot be zero.");
}
// 精确计算结果,避免浮点数精度问题
const result = dividend / divisor;
// 将结果转换为字符串并去掉多余的零
return parseFloat(result.toFixed(15)); // 使用15位小数的精度作为安全范围
} else {
return "";
}
}