前端保留两位小数toFixed(2)会有坑
(422.445).toFixed(2) "422.44" (422.165).toFixed(2) "422.17" (422.446).toFixed(2) "422.45" (422.455).toFixed(2) "422.45" (422.456).toFixed(2) "422.46" (422.465).toFixed(2) "422.46" (422.466).toFixed(2) "422.47"
可以看到结果并不是完全符合自动四舍五入的规律;
网上看到有些说四舍六入的,其实也不对;如422.165最后一位小于6,但也入了一位变422.17;
有的说在3位小数的情况下,第2位小数小于5,第3位小数小于等于5是不进位的,似乎也不对;如422.465,第2位大于5了,不符合规则,它应该进一位,但实际得到是422.46还是没进位;
所以还是会有坑的,建议计算逻辑由后端进行处理;实在涉及前端的计算逻辑需要注意这一点,哪怕有一些前端的处理精度的库也不一定保险。