美文网首页
js小数的计算方法

js小数的计算方法

作者: 左左front | 来源:发表于2018-01-03 10:00 被阅读0次

    0.1+0.2===0.3为false的说明,下面是原因和解决方法。
    因为计算机是二进制的,只能用0,1来表示数值,所以表示浮点数肯定是有误差的,下面我们来说明一下浮点数的别是过程。

    文字描述该过程如下:将该数字乘以2,取出整数部分作为二进制表示的第1位;然后再将小数部分乘
    以2,将得到的整数部分作为二进制表示的第2位;以此类推,直到小数部分为0。 
    特殊情况: 小数部分出现循环,无法停止,则用有限的二进制位无法准确表示一个小数,这也是在编
    程语言中表示小数会出现误差的原因
    

    下面我们具体计算一下0.7的小数表示过程

    0.7 * 2 = 1.4 ——————- 1 
    0.4 * 2 = 0.8 ——————- 0 
    0.8 * 2 = 1.6 ——————- 1 
    0.6 * 2 = 1.2 ——————- 1 
    0.2 * 2 = 0.4 ——————- 0 
    …………
    

    所以0.1+0.2=0.300000000000004。为了达到正确的结果,我们可以用toFixed()来处理。

    parseFloat(1.392143).toFixed(2)=1.39
    

    toFixed()里面填写需要展示的小数位数就可以了。

    相关文章

      网友评论

          本文标题:js小数的计算方法

          本文链接:https://www.haomeiwen.com/subject/vcncnxtx.html