La méthode toFixed() permet de formater un nombre en notation à point-fixe.

Syntaxe

numObj.toFixed([nbChiffres])

Paramètres

nbChiffres
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 de RangeError. 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 à 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

Utiliser toFixed

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.23e+20).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' (... sauf si on a des parenthèses)

Spécifications

Spécification État Commentaires
ECMAScript 3rd Edition (ECMA-262) Standard Définition initiale. Implémentée avec JavaScript 1.5.
ECMAScript 5.1 (ECMA-262)
La définition de 'Number.prototype.toFixed' dans cette spécification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Number.prototype.toFixed' dans cette spécification.
Standard  
ECMAScript Latest Draft (ECMA-262)
La définition de 'Number.prototype.toFixed' dans cette spécification.
Projet  

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung InternetNode.js
Support simpleChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui

Légende

Support complet  
Support complet

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, forresst
Dernière mise à jour par : SphinxKnight,