Number.prototype.toString în JavaScript

Numere și matematică Toate browserele, Node.js

Transformă un număr în text, opțional în altă bază: binar, octal, hexazecimal.

Sintaxă
numar.toString(baza)

Ce face Number.prototype.toString

Fără parametru, toString scrie numărul în baza 10, la fel ca String(numar). Cu un parametru între 2 și 36, scrie numărul în baza respectivă: 2 pentru binar, 8 pentru octal, 16 pentru hexazecimal.

Operația inversă este parseInt(text, baza). valueOf() returnează valoarea numerică simplă și este apelată automat de JavaScript în calcule.

Parametri

Parametru Descriere
baza Opțional. Baza de numerație, de la 2 la 36. Implicit 10.

Ce returnează

Un șir de caractere.

Exemple

Exemplul 1: Aceeași valoare în mai multe baze

const n = 255;

console.log(n.toString());
console.log(n.toString(2));
console.log(n.toString(8));
console.log(n.toString(16));
console.log(parseInt("ff", 16));

Rezultat

255
11111111
377
ff
255

Exemplul 2: O culoare RGB în format hexazecimal

function hex(r, g, b) {
  return "#" + [r, g, b].map((c) => c.toString(16).padStart(2, "0")).join("");
}

console.log(hex(255, 165, 0));
console.log(hex(0, 8, 64));

Rezultat

#ffa500
#000840

Greșeli frecvente

  • Uiți padStart la conversia în hexazecimal: (8).toString(16) este "8", nu "08", iar culoarea iese greșită.

Comenzi înrudite

  • parseInt / Number: Transformă un text în număr: parseInt pentru întregi, parseFloat pentru zecimale, Number pentru conversie strictă.
  • String.prototype.padStart / padEnd: Completează un text la stânga sau la dreapta până ajunge la lungimea dorită.
  • String() / toString: Transformă orice valoare în text: numere, valori logice, tablouri, null și undefined.