在js中有个小操作用~~把字符串转换整数。
console.log(~~'10');
结果:
console.log(~~'50000000000');
结果:
故使用过程中要注意:
1,最好不要是转换浮点数
2,转换的值最好不要大于2^32(4,294,967,295)。因为Bit操作是针对32位有符号整数。如下图:
如果想知道自己的位数是否大于32可以使用:
num.toString(2).length
可以写个转换的函数了:
const parseInt = num => Number(num).toString(2).length >= 32 ? parseInt(num, 10) : ~~num;
//注意如果传入的是浮点数则会报错
参考地址:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators
(中文版:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators)
http://www.w3schools.com/jsref/jsref_operators.asp