Przejdź do treści

Obiekt globalny - JS

parseInt

Co zrobić, żeby przekształcić wartość szesnastkową (heksadecymalną) lub ósemkową (oktalną) na liczbę dziesiętną?

parseInt(string)
parseInt(string, radix)
Parametry:
String string - tekst, który ma zostać przekształcony na liczbę całkowitą
Number radix - podstawa systemu liczbowego (2 - 36), zgodnie z którym wykonać przekształcenie (domyślnie: 16 - gdy string zaczyna się od "0x" lub "0X", a w przeciwnym razie - 10)
Wartość:
Number - liczba całkowita albo NaN (gdy nie udało się wykonać przekształcenia)

Pozwala przekształcić podany tekst na liczbę całkowitą. O tym, w jakim systemie jest zapisana liczba, decyduje podstawa systemu liczbowego. Na przykład w systemie heksadecymalnym (szesnastkowym) mamy do dyspozycji 16 cyfr: cyfry arabskie 0-9 i litery A-F (wielkość znaków nie ma znaczenia). Literze A odpowiada wartość 10, B - 11 itd. Innym popularnym systemem liczbowym jest system oktalny (ósemkowy) - podstawa 8. Natomiast na co dzień posługujemy się systemem decymalnym (dziesiętnym) - podstawa 10.

Białe znaki na początku tekstu są pomijane. Jeżeli funkcja napotka w przekształcanym tekście znak, który jest niepoprawnym zapisem w podanym systemie liczbowym, ignoruje go oraz wszystkie znaki, które znajdują się za nim. Warty podkreślenia jest również fakt, że funkcja nie wykonuje zaokrągleń liczb rzeczywistych, lecz po prostu obcina wartość po przecinku.

Aby wykonć przekształcenie w drugą stronę, użyj funkcji Number.prototype.toString.

Aby sprawdzić, czy funkcja nie zwróciła przypadkiem niepoprawnego wyniku, użyj funkcji isNaN.

Przykład parseInt

parseInt(" +1A ");  // 1
parseInt("1.9");    // 1
parseInt("-1.1");   // -1
parseInt("1A", 8);  // 1
parseInt("10", 8);  // 8
parseInt("0x1A");   // 26
parseInt("1a", 16); // 26
parseInt("test");   // NaN
parseInt(0, 0);     // 0 == parseInt(0, 10)
parseInt(0, 1);     // NaN
parseInt(0, 37);    // NaN

Komentarze

Zobacz więcej komentarzy

Facebook