可能重复:
What is the “double tilde” (~~) operator in JavaScript?
我的代码:
<SCRIPT type="text/javascript">
var num = 2.52;
alert(~~num);
</SCRIPT>
结果为2
。为什么它会留下小数?任何想法。
答案 0 :(得分:1)
以下是http://james.padolsey.com/javascript/double-bitwise-not/
的解释按位NOT运算符(〜)将取其操作数,将其转换为a 32位整数,并将每个位反转,使每个0变为1 反之亦然。
答案 1 :(得分:0)
答案 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>