<script>
if (5.2==4.1+1.1) alert("true");
</script>竟然没有反应!!!!

解决方案 »

  1.   

    浮点数运算需要保留有效位数if (5.2== Math.round((4.1+1.1)*10)/10) alert("true"); 
      

  2.   

    就这个也叫惊天bug,标题党。
    if (5.2==(4.1+1.1).toFixed(2)) alert("true"); 
      

  3.   

    这难道不是BUG? 在处理精度上存在的BUG
      

  4.   

    没办法,最后还是用实数比较的数学原理处理这个问题Math.abs(A-B)<0.00001
      

  5.   

    这是ECMA设计JAVASCRIPT固有的一种缺陷,导致JS的浮点运算能力出奇地差劲!
      

  6.   

    js 默认精确度问题,不算BUG,做js运算要考虑 js 精确度
      

  7.   

    实际是 JavaScript 变量不能指定数据类型的问题。
      

  8.   

    <script> 
    if (5==4+1) alert("true"); 
    </script> 
    应该就可以了,js精度问题