javascript中的toFixed用的就是这种四舍五入法,对于尾数是5的舍入,算法是不同,银行计算用户的利息非常频繁,四舍的时候,银行就少支付给储户利息,但是每进一位就会多给储户支付利息,所以银行家就采用这种算法,减少损失,,但给税务局开发票,要改成round的算法,避免有误差的情况而无法通过。

银行家四舍五入法 银行家四舍五入法规则: 四舍六入五考虑;五后非零可进一;五后皆零视奇偶,五前为偶(包括零)应舍去,奇进偶舍。

但toFixed似乎不一定都是按照银行家舍入法来计算的,这个应该是float储存精度的问题导致

使用Math.round()方法+除法,进行普通的四舍五入的计算

比如:

Math.round((292433.115)*100)/100

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐