parseInt () analiza números literales con exponente incorrectamente
Acabo de observar que elparseInt
la función no se ocupa de los decimales en caso de enteros (números que contienen ele
personaje).
Tomemos un ejemplo:-3.67394039744206e-15
> parseInt(-3.67394039744206e-15)
-3
> -3.67394039744206e-15.toFixed(19)
-3.6739e-15
> -3.67394039744206e-15.toFixed(2)
-0
> Math.round(-3.67394039744206e-15)
0
Esperaba que elparseInt
también regresará0
. ¿Qué está pasando en el nivel inferior? Por queparseInt
regreso3
en este caso (se agradecerían algunos fragmentos del código fuente)?
En este ejemplo estoy usandonode v0.12.1
, pero espero que suceda lo mismo en el navegador y otros motores de JavaScript.