Number. prototype. toString()
Zamienia liczbę na napis, także w innym systemie liczbowym, np. dwójkowym lub szesnastkowym.
- Zwraca
- Napis z liczbą zapisaną w wybranym systemie liczbowym.
Przykład
#const points = 255
console.log(points.toString())
console.log(points.toString(2))
console.log(points.toString(16))
console.log(typeof points.toString())Definicja i zastosowanie
#Metoda toString() zwraca liczbę zapisaną jako tekst. Bez argumentu używa systemu dziesiętnego, więc (42).toString() daje "42". Ten sam wynik dają String(42) i sklejenie liczby z napisem, więc w codziennym kodzie metodę wywołuje się głównie z argumentem.
Argument radix to podstawa systemu liczbowego od 2 do 36. toString(2) pokazuje zapis dwójkowy, toString(16) szesnastkowy, używany m.in. w kolorach CSS, a toString(36) korzysta z cyfr i wszystkich liter alfabetu łacińskiego, co daje krótkie identyfikatory. Odwrotną zamianę, z napisu na liczbę, wykonuje Number.parseInt(text, radix).
Wywołując metodę bezpośrednio na liczbie całkowitej zapisanej cyframi, otocz ją nawiasami: (255).toString(16). Zapis 255.toString(16) to błąd składni, bo kropka po cyfrach jest traktowana jak początek części ułamkowej. Na zmiennych nawiasy nie są potrzebne.
Składnia
#number.toString()
number.toString(radix)Parametry
#radix
liczba 2–36, opcjonalna
Podstawa systemu liczbowego. Domyślnie 10.
Więcej przykładów
#function toHex(r, g, b) {
return '#' + [r, g, b].map((part) => part.toString(16).padStart(2, '0')).join('')
}
console.log(toHex(250, 204, 21))
console.log(toHex(0, 128, 255))Bez padStart(2, "0") zero zamieniłoby się w pojedyncze „0” i kolor miałby za mało cyfr.
const binary = (10).toString(2)
console.log(binary)
console.log(Number.parseInt(binary, 2))
console.log((123456789).toString(36))
console.log(Number.parseInt('21i3v9', 36))Obsługa przeglądarek
#Szeroko dostępne
Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.
- Chrome
- Edge
- Firefox
- Safari
Dobre praktyki
#- Do wyświetlania liczb użytkownikom lepsze są
toLocaleString()itoFixed().toString()nie dodaje separatorów tysięcy ani nie ustala liczby miejsc po przecinku. - Na liczbie całkowitej zapisanej cyframi pisz
(10).toString(2). Bez nawiasów dostaniesz błąd składni. - Przy zamianie na system szesnastkowy dopełniaj wynik zerami przez
padStart(2, "0"), inaczej 5 zamieni się w „5” zamiast „05”.
Powiązane hasła
#- Number.parseInt()Zamienia początek napisu na liczbę całkowitą w wybranym systemie liczbowym.
- Number.prototype.toLocaleString()Formatuje liczbę według zwyczajów wybranego języka: separatory tysięcy, przecinek, waluty i procenty.
- Number.prototype.toFixed()Zamienia liczbę na napis z podaną liczbą miejsc po przecinku.
- String.prototype.padStart()Dopełnia napis z lewej strony podanym tekstem, aż osiągnie wskazaną długość. Idealne do zer wiodących.
Widzisz błąd albo brakuje przykładu? Napisz do nas.