JavaScript 四舍五入(Math.round实现)

不能使用 toFixed()

不能使用 toFixed() 实现四舍五入,详见:
https://www.malaoshi.top/show_1IX8XmpDvvwM.html

说明

Math.round()可把一个数字舍入为最接近的 整数,也就是我们意义上的 四舍五入,但是 只能取整数部分。

因此我们可以将数字 乘100,使用round()获得四舍五入得到的整数部分,然后再 除100 即可。

Math.round(num* 100) / 100

但是这个方法也是有缺陷的,当待处理数字小数点后位数不够你要保留的位数的时候,就实效了

例如:3.1保留使用这个方法就只会显示 3.1;100.00使用这个方法处理后就会变成 100

如果要保留两位小数,这个就可以结合 num.toFixed(2),返回字符串,不足两位小数,在后面补0

let num = 3.1
num = Math.round(num* 100) / 100.
const numStr = num.toFixed(2);
console.log(numStr,typeof(numStr))

参考:
https://blog.csdn.net/qq_36667170/article/details/104830873


原文出处:/show_1IX8XmxOoTXy.html