JavaScriptNombres et Math

Number.prototype.toString()

Convertit un nombre en chaîne de caractères, y compris dans un autre système de numération, comme le binaire ou l’hexadécimal.

Renvoie
Une chaîne de caractères avec le nombre écrit dans le système de numération choisi.
Sur cette page

Exemple

#
JavaScript
const points = 255

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

Définition et utilisation

#

La méthode toString() renvoie le nombre écrit sous forme de texte. Sans argument, elle utilise le système décimal, donc (42).toString() donne "42". String(42) et la concaténation du nombre avec une chaîne donnent le même résultat, donc dans le code courant, cette méthode est surtout appelée avec un argument.

L’argument radix est la base du système de numération, de 2 à 36. toString(2) montre l’écriture binaire, toString(16) l’écriture hexadécimale, utilisée entre autres dans les couleurs CSS, et toString(36) utilise les chiffres et toutes les lettres de l’alphabet latin, ce qui donne des identifiants courts. La conversion inverse, de chaîne vers nombre, se fait avec Number.parseInt(text, radix).

En appelant la méthode directement sur un entier écrit en chiffres, entourez-le de parenthèses : (255).toString(16). L’écriture 255.toString(16) est une erreur de syntaxe, car le point après les chiffres est interprété comme le début d’une partie décimale. Sur des variables, les parenthèses ne sont pas nécessaires.

Syntaxe

#
Syntaxe
number.toString()
number.toString(radix)

Paramètres

#
  • radix

    nombre 2-36, optionnel

    La base du système de numération. Vaut 10 par défaut.

Plus d’exemples

#
Couleur RGB en notation hexadécimale
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))
Console
#facc15
#0080ff

Sans padStart(2, "0"), un zéro se transformerait en un simple « 0 » et la couleur aurait trop peu de chiffres.

Conversion dans les deux sens avec 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))
Console
1010
10
21i3v9
123456789

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • Pour afficher des nombres aux utilisateurs, toLocaleString() et toFixed() sont préférables. toString() n’ajoute pas de séparateurs de milliers et ne fixe pas le nombre de décimales.
  • Sur un entier écrit en chiffres, écrivez (10).toString(2). Sans les parenthèses, vous obtenez une erreur de syntaxe.
  • Pour une conversion en système hexadécimal, complétez le résultat avec des zéros via padStart(2, "0"), sinon 5 se transforme en « 5 » au lieu de « 05 ».

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.