js四则运算小数精度不准确(计算后有无限循环小数)

我们知道计算机数据处理中都是把数据识别为二进制,而不是我们习惯的十进制,所以在数据计算时首先会把数据转换为二进制,比如
0.1 => 0.0001 1001 1001 1001…(无限循环),因为数据的不同,有些数据在转换成二进制后会无限循环,但计算机是不允许无限循环的,对于无限循环的小数,计算机会进行舍入处理。进行双精度浮点数的小数部分最多支持 52 位,因浮点数小数位的限制而截断的二进制数字,这时候,我们再把它转换为十进制,就会出现因截断而引起的误差
下面提供几个加减乘除的误差处理方法 主要遵循逻辑就是先把数据化为整数,然后再还原





    
    
    

    



    





你可能感兴趣的:(后端相关知识,前端相关)