字符串转数字
parseInt(num)
parseInt: 没有传入基数时,默认是传入的基数为 10 parseInt(num, 10)
注意:
parseInt("08"); // returns 0 部分老浏览器.
parseInt("44.jpg"); // returns 44
parseFloat
parseInt(-0xff); // returns -255
parseInt("-0xFF"); // returns -255
parseFloat(-0xff); // returns -255
parseFloat("-0xFF"); // returns 0
换位符
可以把字符串转换成整数,但他不是浮点数。如果是一个字符串转换,它将返回 0;
~~1.23; // returns 1
~~"1.23"; // returns 1
~~"23"; // returns 23
~~"Hello world"; // returns 0
原理:通过翻转>)每个位,也称为数字的 A1 补码。你可以使用它,但注意只能用来存储整数。所以通常情况不要用它,除非你能确定这个数是在 32 位整数之间的值(因为调用的 ToInt32 的规范)。
按位非:用它确保输入中没有字符,仅用于整数。
Number
不推荐使用,JsPerf 中最慢的之一
注意:023 实际上是一个八进制数,无论你怎么做,都是返回 19;对于没有单引号或双引号的十六进制数一样
Number("023"); // returns 23
Number(023); // returns 19
一元运算符
"1.23" * 1; // returns 1.23
"0xFF" - 0; // returns 255
"0xFF.jpg" / 1 + // returns NaN
"023"; // returns 23
+ 号运算符
let string = "123"
let number = + + string
https://harttle.land/2020/11/22/javascript-string-to-number.html