一日一记2

情景:不四舍五入保留2位小数A

方案:String(parseInt(A*100)/100).toFixed(2)

问题:乘法或除法会使小数丢失精度

解决办法:

1 获取小数点位置,对字符串进行截取

function formatDecimal(num, decimal) {
num = num.toString()
let index = num.indexOf('.')
if (index !== -1) {
num = num.substring(0, decimal + index + 1)
} else {
num = num.substring(0)
}
return parseFloat(num).toFixed(decimal)
}

注释:substring(a,b )下标从a开始到b-1结束

2 let  a=+`${A}e${2};

a <<=0  

a=+`${A}e${-2};

posted @ 2023-07-11 15:03  青橙娃娃  阅读(12)  评论(0编辑  收藏  举报