在JavaScript中,parseInt方法返回了一个垃圾值。

14 浏览
0 Comments

在JavaScript中,parseInt方法返回了一个垃圾值。

这个问题已经有了答案:

可能是重复问题:

为什么parseInt(1/0, 19)返回18?

我正在从javascript表达式的结果中解析一个整数。

表达式为(a/b, 24),它在一个方法中,因此我没有对除零进行检查。

我将整数解析为parseInt(a/b, 24)

但我发现了一件不寻常的事情,当a=1,b=0时结果为151176378。

请解释这种差异的原因。

感谢任何建议。

admin 更改状态以发布 2023年5月22日
0
0 Comments

当你运行parseInt(a/b, 24)时,你正试图在24进制(不知道这个数字系统会是什么样子)中解析a/b的结果。

a/b返回Infinity,被转换为字符串值"Infinity",然后使用24进制进行解析,因此您可以使用parseInt("Infinity", 24)得到相同的结果。对于任何18或以下的基数(即parseInt(1/0, 18)),您将获得NaN的结果。

0