【问题标题】:Why it is leaving the decimals [duplicate]为什么要留下小数[重复]
【发布时间】:2012-11-25 17:15:00
【问题描述】:

可能重复:
What is the “double tilde” (~~) operator in JavaScript?

我的代码:

<SCRIPT type="text/javascript"> 

var num = 2.52;
alert(~~num);

</SCRIPT>

它给出的结果是2。为什么要留下小数?任何想法。

【问题讨论】:

  • 您对整数还有什么期望?
  • 双非 (~~) 位运算符将取值。

标签: javascript


【解决方案1】:

这里是解释http://james.padolsey.com/javascript/double-bitwise-not/

按位非运算符 (~) 将获取其操作数,将其转换为 32 位整数,并将每个位反转,使​​每个 0 变为 1 反之亦然。

【讨论】:

    【解决方案2】:

    我发现了这个有用的资源:

    http://www.joezimjs.com/javascript/great-mystery-of-the-tilde/

    莱昂

    【讨论】:

      【解决方案3】:

      JavaScript 中的每个位运算都执行convert its arguments to signed 32bit intergers。这将去掉你的小数。否则,您可能希望双精度 bitwise NOT 产生其参数不变。

      【讨论】:

        【解决方案4】:

        只需删除波浪线 (~)。

        <SCRIPT type="text/javascript"> 
        
        var num = 2.52;
        alert(num);
        
        </SCRIPT>
        

        【讨论】:

          猜你喜欢
          • 2013-01-14
          • 2014-02-17
          • 2012-05-18
          • 2012-06-28
          • 2011-07-21
          • 1970-01-01
          • 2022-01-24
          • 1970-01-01
          • 2016-09-03
          相关资源
          最近更新 更多