toFixed 的四舍五入 尾数是5应该舍去吗?

发布于 6 年前作者 yangfan14767 次浏览最后编辑 6 年前来自 issues

最近在做一个发票类的小工具。 toFixed 函数好像有问题,请官方给个解答

代码                                    输入结果

1.294.toFixed(2) ----------- 1.29  (四舍,这个没问题)

1.295.toFixed(2)------------1.29    (说好的五入,怎么也舍了?)

1.296.toFixed(2)------------1.30    (五入,这个没问题 ) 

发票上给出的1.295 结果是 1.30 。 这是怎么回事???

具体见下图。






2 回复
dzhang
dzhang1 楼6 年前
yanyu
yanyu2 楼4 年前

1.295在内存中可能是1.2949999999999999999所以就被舍弃了,所以你可以引入专门处理精确小数的库,或者用其它方式