js 加法运算精度丢失

js 加法运算精度丢失

问题描述:

1204.62 + 18.58,js中在不经过toFixed的情况下怎么防止精度丢失??

如果只是这个例子这种级别的小数的话

可以将小数变整数,结果再把整数变小数就行了

Math.pow嘛?我试过了,0.1+0.2可以,这个数就出bug了,之前写了个加减乘除的,今天突然遇到了这个数没有生效

不是,

假如  计算0.1+0.2

那就(0.1*10+0.2*10)/10

将需要计算的小数全部转化为整数,计算结束后,将整数再次转化为小数

可以在两个数先*100之后再相加,然后得到的结果再/100就好了

单独使用确实是有问题,但是你这样组合使用,计算出最终结果的话,这个是没有问题的

有一个bigNumber.js库,里面支持很多的运算,如果你用这种运算比较多的话,建议你引入这个库