很多前端都应该遇到过这样的小数点加减乘除后会有无限小数点出现的情况,这个原因和数据结构有关系;因为计算机只认识0和1,所以在计算的时候小数就会被转换成double类型数据计算,float会精确到7位小数点,double会精确到15.这也就是。而数据会少一0.00000000000000001或者多0.0000000000001的原因那则是js本身的计算bug吧。
不过我个人意见则是可能是因为js计算的时候讲加减过程中的损耗也一起计算了。(就像利息的概念,ps:纯属个人观点)
我这刚好写了一个保留自定义小数点的方法,有需要可以用到: