javascript中的toFixed用的就是这种四舍五入法,对于尾数是5的舍入,算法是不同,银行计算用户的利息非常频繁,四舍的时候,银行就少支付给储户利息,但是每进一位就会多给储户支付利息,所以银行家就采用这种算法,减少损失,,但给税务局开发票,要改成round的算法,避免有误差的情况而无法通过。
银行家四舍五入法 银行家四舍五入法规则: 四舍六入五考虑;五后非零可进一;五后皆零视奇偶,五前为偶(包括零)应舍去,奇进偶舍。
![](https://i-blog.csdnimg.cn/blog_migrate/4990d28fbe7f1a86edd0cf000adddc4e.png)
但toFixed似乎不一定都是按照银行家舍入法来计算的,这个应该是float储存精度的问题导致
使用Math.round()方法+除法,进行普通的四舍五入的计算
比如:
Math.round((292433.115)*100)/100
![](https://i-blog.csdnimg.cn/blog_migrate/685bc2a879bc765d271832ac7786bd88.png)