JavaScriptLiczby i Math

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.
Na tej stronie

Przykład

#
JavaScript
const points = 255

console.log(points.toString())
console.log(points.toString(2))
console.log(points.toString(16))
console.log(typeof points.toString())
Konsola
255
11111111
ff
string

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

#
Składnia
number.toString()
number.toString(radix)

Parametry

#
  • radix

    liczba 2–36, opcjonalna

    Podstawa systemu liczbowego. Domyślnie 10.

Więcej przykładów

#
Kolor RGB w zapisie szesnastkowym
JavaScript
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))
Konsola
#facc15
#0080ff

Bez padStart(2, "0") zero zamieniłoby się w pojedyncze „0” i kolor miałby za mało cyfr.

Zamiana w obie strony z parseInt()
JavaScript
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))
Konsola
1010
10
21i3v9
123456789

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() i toFixed(). 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

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.