Grałem z JS i zauważyłem to.parseInt() notacja naukowa
Dlaczego parseInt(1e+21)
zwraca 1
i parseInt(1e+20)
wróć 100000000000000000000
? parseInt(10e+20)
również zwraca 1
?
Dlaczego zwraca NaN
podczas gdy parseFloat(1.7976931348623157E+10308)
zwraca Infinity
?
Nawet wykonana sekwencja Fibonacci i dowolną wartość, która ma +21
wykładniki zwraca tylko pierwszą cyfrę:
parseFloat()
powróci prawidłowy numer do nieskończoności.
Fibonacci demo (int : parseInt() : parseFloat())
(przetestowane w Chrome)
Dlaczego parseInt (1e + 20) zwraca 100000000000000000000, a nie 1, to? – rottenoats
Już to powiedziałem. Kiedy '1e + 20' zostaje wymuszone na łańcuch, wypisuje' '100000000000000000000" ', który zostanie przeanalizowany na poprawną liczbę. '1e + 21' wyświetla' '1e + 21" 'zamiast tego. Wypróbuj "" + sum, które napisałem w odpowiedzi. –
rhaps0dy
Zrobiłem. parseInt ("" + 1e + 21) wyprowadza 1 – rottenoats