需求:要求保留两位小数,四舍五入
image.png- js的toFixed方法保留小数时的处理是4、5舍6入
let num = 3.045
console.log(num.toFixed(2));//3.04 和预期不符
- 使用Math.round(x)来进行数值转换,把一个数字数字舍入为最接近的整数
let num = 3.045
console.log(Math.round(num*1000/10)/100);//3.05
为什么要乘以100除以10呢?
- 因为js涉及到小数点精度问题
console.log(0.555*100);//55.50000000000001
所以为了避免在我们保留到的小数位处出现精度问题,我们会乘一个10的需要保留小数位加1次幂的数然后再把多乘的10除掉
网友评论