Number.prototype.toFixed()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
La méthode toFixed()
permet de formater un nombre en notation à point-fixe.
Exemple interactif
Syntaxe
numObj.toFixed([nbChiffres]);
Paramètres
nbChiffres
Facultatif-
Le nombre de chiffres qu'on souhaite avoir après le séparateur décimal. Cette valeur peut être comprise, au sens large, entre 0 et 20. Les différentes implémentations peuvent éventuellement supporter des valeurs en dehors de cet intervalle. Si l'argument n'est pas utilisé, la valeur par défaut sera 0.
Valeur de retour
Une chaîne de caractères qui représente le nombre indiqué avec une notation à point fixe.
Exceptions causées
RangeError
-
Cette exception est renvoyée si
nbChiffres
est trop grand ou trop petit. Les valeurs comprises, au sens large, entre 0 et 100, n'entraîneront pas deRangeError
. Les différentes implémentations peuvent ou non supporter des valeurs plus petites et/ou plus grandes. TypeError
-
Cette exception est renvoyée si cette méthode est invoquée depuis un objet qui n'est pas de type numérique.
Description
toFixed()
renvoie une chaîne de caractères représentant objetNumber
sans notation exponentielle et qui possède exactement nbChiffres
pour la partie fractionnaire. Le nombre est arrondi si nécessaire et la partie fractionnaire est complétée par des zéros si nécessaire pour obtenir la longueur souhaitée. Si le objetNumber
est supérieur ou égal à 1e+21
, la méthode utilise simplement Number.prototype.toString()
et renvoie une chaîne en notation exponentielle.
Attention :
En raison du standard IEEE 754 qui est utilisé par JavaScript pour représenter les nombres, tous les nombres décimaux ne sont pas représentés exactement en JavaScript, ce qui peut mener à des résultats inattendus (comme 0.1 + 0.2 === 0.3
qui renvoie false
).
Exemples
var numObj = 12345.6789;
numObj.toFixed(); // Renvoie '12346' : arrondi, aucune partie fractionnaire
numObj.toFixed(1); // Renvoie '12345.7' : arrondi ici aussi
numObj.toFixed(6); // Renvoie '12345.678900' : des zéros sont ajoutés
(1.23e20).toFixed(2); // Renvoie '123000000000000000000.00'
(1.23e-10).toFixed(2); // Renvoie '0.00'
(2.34).toFixed(1); // Renvoie '2.3'
-(2.34).toFixed(1); // Renvoie -2.3 (en raison de la précédence des opérateurs,
// les littéraux de nombres négatifs ne renvoient pas de chaînes)
(2.35).toFixed(1); // Renvoie '2.4' (arrondi supérieur)
(2.55).toFixed(1); // Renvoie '2.5' (cf. l'avertissement ci-avant)
(-2.34).toFixed(1); // Renvoie '-2.3'
Spécifications
Specification |
---|
ECMAScript Language Specification # sec-number.prototype.tofixed |
Compatibilité des navigateurs
BCD tables only load in the browser