传递浮点数时的javascript,parseInt行为

All*_*ash 6 javascript parseint

我有以下两个parseInt(),我不太清楚为什么他们给了我不同的结果:

alert(parseInt(0.00001)) 显示0;

alert(parseInt(0.00000001)) 显示1

我的猜测是,由于parseInt函数需要字符串参数,它把0.00001""+0.00001"0.00001",因此,第一次警报将显示0parseInt函数后.对于第二个陈述,""+0.00000001将是"1e-8",其parseInt将是1.我对么?

谢谢

Bar*_*mar 8

我相信你是对的.

parseInt(0.00001) == parseInt(String(0.00001)) == parseInt('0.00001') ==> 0

parseInt(0.00000001) == parseInt(String(0.00000001)) == parseInt('1e-8') ==> 1
Run Code Online (Sandbox Code Playgroud)