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.
Exemple
#const points = 255
console.log(points.toString())
console.log(points.toString(2))
console.log(points.toString(16))
console.log(typeof points.toString())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
#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
#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))Sans padStart(2, "0"), un zéro se transformerait en un simple « 0 » et la couleur aurait trop peu de chiffres.
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))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()ettoFixed()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
#- Number.parseInt()Convertit le début d’une chaîne de caractères en nombre entier dans la base choisie.
- Number.prototype.toLocaleString()Formate un nombre selon les habitudes de la langue choisie : séparateurs de milliers, virgule, devises et pourcentages.
- Number.prototype.toFixed()Convertit un nombre en chaîne de caractères avec un nombre donné de décimales.
- String.prototype.padStart()Complète une chaîne à gauche avec le texte donné jusqu’à ce qu’elle atteigne la longueur indiquée. Idéal pour les zéros initiaux.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.