0

可能重复:
JavaScript 中的“双波浪号”(~~) 运算符是什么?

我的代码:

<SCRIPT type="text/javascript"> 

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

</SCRIPT>

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

4

4 回答 4

1

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

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

于 2012-12-07T14:04:07.737 回答
0

我发现这个有用的资源:

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

莱昂

于 2012-12-07T14:03:36.633 回答
0

JavaScript 中的每个按位运算都会将其参数转换为有符号的 32 位整数。这将去掉你的小数。否则,您可能期望双按位 NOT 不会产生不变的参数。

于 2012-12-07T14:03:56.007 回答
0

只需删除波浪号 (~)。

<SCRIPT type="text/javascript"> 

var num = 2.52;
alert(num);

</SCRIPT>
于 2012-12-07T14:05:42.900 回答