前端js浮点数计算时常常出现循环小数,比如这样:
console.log(0.1+0.2)
// 输出:0.30000000000000004
console.log(0.1*0.7)
// 输出:0.06999999999999999
所以导致项目里面出了这样的问题:
懒人解决方法:
先保留指定位数的小数,再使用Number转换成数值
Number(数字.toFixed(保留小数位))
let a = 0.1+0.2
Number(a.toFixed(4))
// 得到0.3
转换后:
因为赶进度,就先这样解决了,因为这个项目前后端双重校验,精度丢失的情况下无法支付成功。
目前尚未发现有问题,如果各位大佬有何见解欢迎评论去指正!