parseInt method in javascript is returning a junk value
Possible Duplicate:
Why does parseInt(1/0, 19) return 18?
号
我正在分析javascript中表达式的结果中的整数。表达式是(a/b,24),它在一个方法中,所以我不需要检查除数是否为零。我把整数解析为parseInt(a/b,24)。
但我在里面发现了一个不寻常的东西。
请解释这种差异的原因。
感谢任何建议。
- 难道a=1, b=0 - a/b不会引起"除以0"的问题吗?
- 它应该给出一个错误,但它返回的是该值,有什么想法,如何返回?
- 这是你的答案…stackoverflow.com/questions/11340673/…
- @弗里法勒:非常感谢……
- 为什么在地球上,人们允许零错误的DIV,然后解析到一个奇怪的基础,并对奇怪的结果感到疑惑????
- @克里斯托夫:这行是用我的方法写的,其中a,b作为参数。
- 当然,但这是否妨碍您进行支票检查?
当运行parseInt(a/b, 24)时,您正试图解析以24为基数的a/b的结果(不知道这个数字系统是什么样子)。
a/b返回Infinity,该值转换为字符串值"Infinity",然后使用base 24进行解析,这样您就可以得到与parseInt("Infinity", 24)相同的结果。你会得到一个以18或更少为基数的NaN的结果(即parseInt(1/0, 18))。
- 不能使用反斜杠`作为除法运算符。这会导致语法错误!
- @CORE1024,必须记住校对。