Dokumentacja języka JavaScript 1.5:Funkcje:parseInt
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
Spis treści |
[edytuj] Podsumowanie
Funkcja główna
Przetwarza argument w postaci łańcucha znaków i zwraca liczbę całkowitą typu integer, o zadanej podstawie.
[edytuj] Składnia
parseInt(string[, radix])
[edytuj] Parametry
-
string - Łańcuch znaków zawierający wartość do przetworzenia.
-
radix - Liczba typu integer określająca podstawę powyższego łańcucha (np. 2 - system dwójkowy, 10 - system dziesiętny, przyp. tłum.)
[edytuj] Opis
parseInt jest funkcją najwyższego poziomu i nie jest związana z żadnym obiektem.
Funkcja parseInt parsuje jej pierwszy argument, łańcuch znaków, i próbuje zwrócić liczbę całkowitą typu integer o podanej podstawie. Na przykład, podstawa 10 oznacza że liczba w łańcuchu jest liczbą dziesiętną, podstawa 8 - ósemkową, 16 - szesnastkową (heksadecymalną), itd. Dla podstaw większych niż 10, litery alfabetu oznaczają cyfry większe niż 9. Dla przykładu, dla liczb szesnastkowych (o podstawie 16), używane są litery od A do F.
Jeśli parseInt natknie się na znak nie będący cyfrą o danej podstawie, ignoruje ona ten znak i wszystkie następne znaki, a następnie zwraca wartość przetworzoną do tej pory. parseInt przycina liczby do wartości całkowitych. Początkowe i grupujące spacje są dozwolone.
Jeśli podstawa nie jest podana lub jest podana jako 0, JavaScript przyjmuje:
- Podstawę
16, jeśli łańcuch wejściowy zaczyna się od "0x".
- Podstawę
8jeśli łańcuch wejściowy rozpoczyna się od "0". Ta cecha jest wycofywana.
- Podstawę
10jeśli łańcuch zaczyna się od jakiejkolwiek innej wartości.
Jeśli pierwszy znak nie może być skonwertowany na liczbę, parseInt zwraca NaN.
Dla potrzeb arytmetycznych, wartość NaN nie jest liczbą o żadnej podstawie. Możesz wywołać funkcję isNaN, by stwierdzić czy wynik parseInt będzie NaN. Jeśli NaN jest podane do jakichkolwiek operacji arytmetycznych, wynikiem tych operacji również będzie NaN.
[edytuj] Przykłady
[edytuj] Przykład: Zastosowanie parseInt
Wszystkie poniższe przykłady zwracają 15:
parseInt("F", 16);parseInt("17", 8);parseInt("15", 10);parseInt(15.99, 10);parseInt("FXX123", 16);parseInt("1111", 2);parseInt("15*3", 10);parseInt("12", 13);
Wszystkie poniższe przykłady zwracają NaN:
parseInt("Hello", 8); // nie jest wcale liczbąparseInt("0x7", 10); // nie jest w formacie bazy 10parseInt("546", 2); // te cyfry nie są używane do zapisu liczb binarnych
Mimo iż podana baza jest inna, poniższe przykłady zwracają 17 ponieważ łańcuch wejściowy rozpoczyna się od "0x".
parseInt("0x11", 16);parseInt("0x11", 0);parseInt("0x11");