2

可能重复:
为什么 parseInt(1/0, 19) 返回 18?

我正在从 javascript 中的表达式的结果中解析一个整数。表达式是(a/b,24),并且它在一个方法中,所以我没有检查除以零。我将整数解析为parseInt(a/b,24)

但我在里面发现了一个不寻常的东西when a=1, b=0 the result was 151176378.

请解释造成这种差异的原因。

感谢任何建议。

4

1 回答 1

3

当您运行时,parseInt(a/b, 24)您正在尝试解析以a/b24 为基数的结果(不知道这个数字系统会是什么样子)。

a/b返回将Infinity其转换为字符串值"Infinity",然后使用 base 24 进行解析,因此您将获得与parseInt("Infinity", 24). 您将得到NaN18 或更小的基数(即parseInt(1/0, 18))的结果。

于 2012-07-13T09:06:58.310 回答