parseInt(0.000004); //0
parseInt(0.0000004); //4
为什么第一个parseInt()
返回0,但是如果我在十进制之后增加零的数量则给出4?
答案 0 :(得分:6)
部分原因是parseInt()
期望其参数的字符串,并首先将其他任何内容转换为字符串。
console.log(0.000004.toString());
// "0.000004"
console.log(0.0000004.toString());
// "4e-7"
而且,parseInt()
无法识别电子符号,在后一种情况下,只接受结果字符串中的"4"
。