javascript中的toFixed用的是银行家四舍五入法
javascript中的toFixed用的就是这种四舍五入法,对于尾数是5的舍入,算法是不同,银行计算用户的利息非常频繁,四舍的时候,银行就少支付给储户利息,但是每进一位就会多给储户支付利息,所以银行家就采用这种算法,减少损失,,但给税务局开发票,要改成round的算法,避免有误差的情况而无法通过。银行家四舍五入法 银行家四舍五入法规则: 四舍六入五考虑;五后皆零视奇偶,五前为偶(包括零)应舍去,
·
javascript中的toFixed用的就是这种四舍五入法,对于尾数是5的舍入,算法是不同,银行计算用户的利息非常频繁,四舍的时候,银行就少支付给储户利息,但是每进一位就会多给储户支付利息,所以银行家就采用这种算法,减少损失,,但给税务局开发票,要改成round的算法,避免有误差的情况而无法通过。
银行家四舍五入法 银行家四舍五入法规则: 四舍六入五考虑;五后非零可进一;五后皆零视奇偶,五前为偶(包括零)应舍去,奇进偶舍。

但toFixed似乎不一定都是按照银行家舍入法来计算的,这个应该是float储存精度的问题导致
使用Math.round()方法+除法,进行普通的四舍五入的计算
比如:
Math.round((292433.115)*100)/100

更多推荐
所有评论(0)