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.

Respuestas a la pregunta(5)

Su respuesta a la pregunta