直接上代码,如果有收获请 点赞+收藏
const test = 36.665
console.log(test.toFixed(2))
//输出 36.66
上述代码按照toFixed():保留两位小数 四舍五入的方法,得出的结果应该是 36.67,但是为什么结果是 36.66
toFixed()具体用法:
toFixed(n)n代表保留小数的位数,不够指定的位数会以0补齐,结果已字符串形式返回
注意:
toFixed()方法并不是以 四舍五入的形式进行数据处理的,而是使用的 银行家舍入法 进行数据处理的
银行家舍入法: 本质是【四舍五入取偶】的方法
-
当舍去位的数值 < 5时,直接舍去
-
当舍去位的数值 >= 6时,在舍去的同时向前进一位
-
当舍去位的数值 = 5时
-
5后不为空且不全为0时,在舍去的同时向前进一位
-
5后为空或全为0:
- 5前面的数值为奇数,在舍去的同时向前进一位
- 5前面的数值为偶数,直接舍去
-
如何解决四舍五入的问题:
使用 Math.round()的方法进行四舍五入
//使用
Math.round(x * 100) / 100