一直以为toFixed方法是直接舍去后边的,原来不是。然而也不是四舍五入。原来用的是银行家舍入规则。
银行家舍入规则:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。
例如
>a = 1.550
>a.toFixed(1)
<"1.6"
>a = 2.550
<2.55
据说,好多编程语言的round函数也是用的银行家舍入规则。测试了一下,js的不是。
据说是为了更公平,有兴趣可以自己算一算概率。参考:https://www.jianshu.com/p/76f83bd476bd
又涨知识了。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。