【解决方案】js小数运算出现多位小数问题

1、问题描述

在一次后台返回数据进行百分率转换过程当中,出现部分数据显示异常,好比:函数

2、解决方案

一、最快最简便的方法 直接调用 toFixed() 函数进行四舍五入为指定小数位数的数字。ip

二、也能够经过操做字符串来进行计算或拼接,具体自行探索。字符串

3、问题缘由

浮点数值的最高进度是17位小数,但在进行运算的时候其精确度却远远不如整数;整数在进行运算的时候都会转成10进制; 而Java和JavaScript中计算小数运算时,都会先将十进制的小数换算到对应的二进制,一部分小数并不能完整的换算为二进制,这里就出现了第一次的偏差。待小数都换算为二进制后,再进行二进制间的运算,获得二进制结果。而后再将二进制结果换算为十进制,这里一般会出现第二次的偏差。class

因此 0.1+0.2 != 0.3后台

相关文章
相关标签/搜索