Co robi parseInt() w JavaScript?
parseInt() to funkcja JavaScript, która zamienia wartość na liczbę całkowitą. Najczęściej używa się jej do odczytywania liczby całkowitej z tekstu, ale może też otrzymać wynik działania matematycznego.
Najważniejsza cecha
parseInt() odcina część ułamkową liczby, czyli nie zaokrągla, tylko pozostawia część całkowitą.
var i = parseInt(3 / 2);
console.log(i); // 1
Działanie 3 / 2 daje wynik 1.5, a parseInt(1.5) zwraca 1.
Różnica względem Number() i parseFloat()
Number(3 / 2); // 1.5
parseFloat(3 / 2); // 1.5
parseInt(3 / 2); // 1
Number() konwertuje wartość na liczbę, ale nie usuwa części ułamkowej. parseFloat() zwraca liczbę zmiennoprzecinkową, więc również zachowuje ułamek.
parseInt() a zaokrąglanie
parseInt() nie działa tak jak Math.round().
parseInt(1.9); // 1
Math.round(1.9); // 2
Jeśli w zadaniu egzaminacyjnym wynik dzielenia ma być równy 1, a działanie 3 / 2 daje 1.5, należy użyć funkcji, która usunie część po przecinku. Dlatego poprawna odpowiedź to:
var i = parseInt(3 / 2);
Uwaga praktyczna
W nowoczesnym JavaScript do obcinania części ułamkowej liczby można też używać Math.trunc(), ale w pytaniach egzaminacyjnych często pojawia się właśnie parseInt().