1

我们可以做以下转换:

var a = "129.13"|0,  // becomes 129

var b = 11.12|0; // becomes 11

var c = "112"|0; // becomes 112

这似乎可行,但不确定这是否是标准的 JS 功能。有谁知道这是否可以安全地用于将字符串和小数转换为整数?

4

1 回答 1

5

是的,这是标准行为。位运算符仅对整数进行操作,因此它们将给出的任何数字转换为有符号的 32 位整数。

这意味着最大范围是有符号 32 位整数减 1,即2147483647.

(Math.pow(2, 32) / 2 - 1)|0; // 2147483647

(Math.pow(2, 32) / 2)|0; // -2147483648 (wrong result)
于 2012-10-02T17:51:09.040 回答