为什么 JavaScript 的 parseInt(0.0000005) 会打印“5”?🤔
为什么 JavaScript 会parseInt(0.0000005)
打印“5”?🤔
JavaScript 的parseInt()
函数在将字符串转换为整数时非常方便,但有时也会导致令人惊讶的结果。其中一个谜团是当你调用:
parseInt(0.0000005)
输出是5
!😲
背后的原因
简单来说:parseInt()
它不仅仅查看数字本身。它首先将值转换为字符串。因此,当我们传递 时0.0000005
,JavaScript 会自动将其转换为字符串"5e-7"
。🎢
现在,parseInt()
从左侧开始读取字符串,并在第一个非数字字符处停止。在 中"5e-7"
,它5
首先看到 ,因此它在那里停止并返回5
。它不处理科学计数法部分(e-7
),这就是它忽略小数的原因。
摘要📜
parseInt()
将数字作为字符串处理。- 它仅读取第一个非数字字符。
- 结果是第一个非数字字符之前的整数。
最后一个技巧问题!🧩
返回什么console.log(0.1 + 0.2 == 0.3)
?🤨 试试看,看看你能不能破解这个 JavaScript 谜题!