1234*0.01=12.3400000001
很明显后缀00001跟预期想要的不一致,起初面临这个问题我的处理方式是这样的:
(1234*0.01).toString().substring(0,2)+"."+(1234*0.01).toString().substring(2,4)
这样子虽然可行,但是当接收的参数1234是其他长度的话又得做一堆判断,格外不方便。
后来问了我的儿子,我儿子告诉我用toFixed,随之我搜索了js toFixed。
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
同时用来处理我原先那种低端的精度损失是相当不错的。
(1234*0.01).toFixed(2)=12.34
再搜索了一下tofixed,我的做法并非达到完美,还是存在一些不理想的情况,等出了问题再看下面这两篇吧。
https://www.jianshu.com/p/849b0ae36b36
https://www.jianshu.com/p/e8d708a08fb5
obk,继续追番