JavaScript 不能用 tofixed() 方法实现四舍五入(银行家舍入规则)

说明

toFixed() 方法可实现四舍五入为指定小数位数的数字。

但是其四舍五入的规则与数学中的规则不同,使用的是 银行家舍入规则。

银行家舍入

所谓银行家舍入法,其实质是一种 四舍六入五取偶(又称四舍六入五留双)法。

简单来说就是:

四舍六入五考虑:

五后非零就进一
五后为零看奇偶,五前为偶应舍去,五前为奇要进一

如下:

> (3.61).toFixed(1)    //四舍
'3.6'
> (3.69).toFixed(1)    //六入
'3.7'
> (3.651).toFixed(1)    //五考虑,五后非零,进
'3.7'
> (3.65).toFixed(1)    //五考虑,五后为零,五前为偶数,舍去
'3.6'
> (3.75).toFixed(1)    //五考虑,五后为零,五前为奇数,进
'3.8'

参考:
https://blog.csdn.net/Archimelan/article/details/83017518


原文出处:/show_1IX8XmpDvvwM.html