为什么它会留下小数

时间:2012-12-07 14:00:21

标签: javascript

  

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

我的代码:

<SCRIPT type="text/javascript"> 

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

</SCRIPT>

结果为2。为什么它会留下小数?任何想法。

4 个答案:

答案 0 :(得分:1)

以下是http://james.padolsey.com/javascript/double-bitwise-not/

的解释
  

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

答案 1 :(得分:0)

我找到了这个有用的资源:

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

列昂

答案 2 :(得分:0)

JavaScript中的每个按位操作都会convert its arguments to signed 32bit intergers。这将删除您的小数。否则,您可能期望双bitwise NOT使其参数保持不变。

答案 3 :(得分:0)

只需取下波浪号(〜)。

<SCRIPT type="text/javascript"> 

var num = 2.52;
alert(num);

</SCRIPT>