JavaScriptNombres et Math

Number.prototype.toFixed()

Convertit un nombre en chaîne de caractères avec un nombre donné de décimales.

Renvoie
Une chaîne de caractères avec le nombre écrit en notation à virgule fixe.
Sur cette page

Exemple

#
JavaScript
const average = 81.66666666666667

console.log(average.toFixed(1))
console.log((5).toFixed(2))
console.log(typeof average.toFixed(1))
console.log((0.1 + 0.2).toFixed(2))
Console
81.7
5.00
string
0.30

Définition et utilisation

#

La méthode toFixed(digits) arrondit un nombre au nombre de décimales indiqué et renvoie le résultat sous forme de chaîne de caractères. Les décimales manquantes sont complétées par des zéros, donc (5).toFixed(2) donne "5.00".

Le résultat est du texte, pas un nombre. Il convient pour l’affichage, mais pour d’autres calculs, il faut le reconvertir avec Number().

L’arrondi hérite de l’imprécision des nombres à virgule flottante : (1.005).toFixed(2) donne "1.00", car 1.005 est stocké en mémoire comme un peu moins que 1.005. Pour des montants en devise, utilisez Intl.NumberFormat.

Syntaxe

#
Syntaxe
number.toFixed()
number.toFixed(digits)

Paramètres

#
  • digits

    0-100, optionnel

    Le nombre de décimales. Vaut 0 par défaut.

Plus d’exemples

#
Le piège de l’arrondi
JavaScript
console.log((1.005).toFixed(2))
console.log(Math.round(1.005 * 100) / 100)
Console
1.00
1

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 formater des montants avec un symbole de devise et un séparateur de milliers, utilisez Intl.NumberFormat, pas toFixed().
  • N’oubliez pas que le résultat est une chaîne de caractères. Number(x.toFixed(2)) redonne un nombre.

Entrées associées

#

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