Pueden ocurrir problemas de punto flotante al realizar operaciones con decimales, por lo que puede encapsular una función que convierta decimales en porcentajes y maneje puntos flotantes.
//将小数转换成百分比 处理浮点 例如0.575
function handleFloating (str) {
if (str == undefined || str == null || str == 0) {
return 0;
}
// 如果是整数的话只有0和1两种情况 0返回0 1返回100%
if (!str.toString().split(".")[1]) {
return str * 100 + '%'
}
// 获取小数精度
let decimalLength = str.toString().split(".")[1].length;
//乘最大精度取整
let maxFloat = Math.trunc(str * Math.pow(10, decimalLength));
return maxFloat / Math.pow(10, decimalLength - 2) + '%';
};