我正在从javascript中的表达式结果中解析一个整数。
表达式是(a/b,24)
,它在一个方法中,所以我没有检查除零。
我正在将整数解析为parseInt(a/b,24)
但我在其中发现了一件不寻常的事情when a=1, b=0 the result was 151176378.
请说明造成这种差异的原因。
感谢任何建议。
答案 0 :(得分:3)
当你运行parseInt(a/b, 24)
时,你试图解析基数为24的a/b
的结果(不知道这个数字系统会是什么样子)。
a/b
返回Infinity
,将其转换为字符串值"Infinity"
,然后使用base 24进行解析,以便与parseInt("Infinity", 24)
获得相同的结果。如果NaN
的任何基数为18或更低(即parseInt(1/0, 18)
),您将获得{{1}}的结果。