parseInt () неправильно анализирует числовые литералы с показателем степени

Я только что заметил, чтоparseInt Функция не заботится о десятичных дробях в случае целых чисел (числа, содержащиеe персонаж).

Давайте возьмем пример:-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

Я ожидал, чтоparseInt также вернется0, Что происходит на более низком уровне? ПочемуparseInt вернуть3 в этом случае (некоторые фрагменты из исходного кода будут оценены)?

В этом примере я используюnode v0.12.1, но я ожидаю, что то же самое произойдет в браузере и других движках JavaScript.

Ответы на вопрос(0)

Ваш ответ на вопрос