console.log(parseInt(0.0000008))
// > 8
console.log(parseInt(0.000008))
// > 0
console.log(parseInt(0.0000008, 10))
// > 8
console.log(parseInt(0.000008, 10))
// > 0Run Code Online (Sandbox Code Playgroud)
以上代码在macOS Sierra版本10.12.6上的Google Chrome版本62.0.3202.94(官方版本)(64位)中运行.
如您所见,该行为不取决于您是否指定基数.
注意:我通常使用~~而不是使用parseInt,它看起来更安全.
为什么我得到这些结果?
use*_*ica 20
parseInt如果参数不是字符串,则将其第一个参数字符串化.0.000008字符串化'0.000008',但0.0000008字符串化'8e-7'.
如果parseInt在输入中找到无效字符,它将忽略该字符及其后的所有内容..和e对于基座10无效(和.将是任何碱无效),所以parseInt认为'0.000008'作为'0'与'8e-7'作为'8'.
我不知道你在这里想做什么,但parseInt不是这样做的工具.
| 归档时间: |
|
| 查看次数: |
412 次 |
| 最近记录: |