js除法计算上传进度显示出现多位小数

计算文件上传进度的方式:
文件上传进度 = (后端反馈已成功接收大小 / 文件总大小)100 + “%”

以上规则没什么大问题吧,但是!!!在进度字样随进度条显示时,出现了不和谐的数字,超长的小数:比如7.0000000000004,就算用上toFixed还是会出现这样的情况。更离谱的是,比如当前进度计算结果7.0000000000004,下一秒进度计算结果7.00,合着进度还给回退了啊?┑( ̄Д  ̄)┍

最后用字符串处理显示在进度条上的数字

let mustUp = 0;//防止数字反弹,显示数字回退的不良体验,同时也是进度条滚动进度的参考
let recentUp = (res.lodaded / res.total).toFixed(2);//toFixed大部分时间能起作用
mustUp = recentUp > mustUp ? recentUp : mustUp;
let str = (mustUp * 100).toString().slice(0,4) == '100.' ? '100' : (mustUp * 100).toString().slice(0,4);
let uploadRation =  str  + '%';

猜你喜欢

转载自blog.csdn.net/weixin_43939111/article/details/130951794