首页 > Web开发 > 详细

js 的舍入误差

时间:2021-03-16 11:02:35      阅读:26      评论:0      收藏:0      [点我收藏+]

0.1 + 0.2 = 0.30000000000000004; 浮点型数据

理解:

     1.  0.1 0.2在计算机语言中会转换为二进制语言

         console.log(0.1.toString(2));  //   "0.0001100110011001100110011001100110011001100110011001101"

      console.log(0.2.toString(2));  //    "0.001100110011001100110011001100110011001100110011001101"

     2.  在计算 0.1 + 0.2 的时候会进行 二进制 =》十进制 的转换,此时会出现色入误差的情况,有一部分数据在精度上被丢失掉

          0.1 => 0.0001100110011001    0.2 => 0.0011001100110011001  就会出现不等于0.3 的情况

 解决:

    1.  console.log(parseFloat((0.1+0.2).toFixed(2)));    //  0.3

    2.  console.log(( 0.1*100 + 0.2*100 ) / 100);  // 0.3

js 的舍入误差

原文:https://www.cnblogs.com/PengZhao-Mr/p/14541437.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!