JS处理数据四舍五入tofixed与round的区别
tofixed方法
toFixed()
方法可把 Number 四舍五入为指定小数位数的数字。例如将数据Num保留2位小数,则表示为:toFixed(Num)
。但是其四舍五入的规则与数学中的规则不同,使用的是银行家舍入规则,银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法。具体规则如下:
简单来说就是:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。
显然这种规则不符合我们平常在数据处理中的方式。为了解决这样的问题,可以使用Math.round
方法实现保留指定位数四舍五入处理。
round方法
round()
方法可把一个数字舍入为最接近的整数。例如:Math.round(x)
,则是将x取其最接近的整数。其取舍的方法使用的是四舍五入中的方法,符合数学中取舍的规则。对于小数的处理没有那么便捷,但是可以根据不同的要求,进行自定义的处理。
例如:对数据X进行保留两位小数的处理,则可以使用Math.round(X * 100) / 100.0
进行处理。
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/02/25/difference-between-rounding-to-fixed-and-round-in-js-data-processing/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论