Number.prototype.toPrecision()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthode toPrecision() renvoie une chaîne de caractères représentant un nombre avec la précision donnée.
Exemple interactif
function precise(x) {
return x.toPrecision(4);
}
console.log(precise(123.456));
// Expected output: "123.5"
console.log(precise(0.004));
// Expected output: "0.004000"
console.log(precise(1.23e5));
// Expected output: "1.230e+5"
Syntaxe
numObj.toPrecision([précision]);
Paramètre
précision-
Paramètre optionnel. Un entier spécifiant le nombre de chiffres significatifs.
Valeur de retour
Cette méthode renvoie une chaîne de caractères représentant l'objet Number en notation à point fixe ou en notation exponentielle, arrondi avec un nombre de chiffres significatifs égal à précision. Le principe utilisé pour les arrondis est celui décrit dans la page de la méthode Number.prototype.toFixed().
Si l'argument précision n'est pas utilisé, la méthode aura le même effet que Number.prototype.toString(). Si cet argument n'est pas un nombre entier, on prendra le nombre entier le plus proche.
Exceptions
RangeError-
Si
précisonn'est pas compris, au sens large, entre 1 et 100, on aura une exceptionRangeError. Les implémentations peuvent supporter des valeurs supérieures et/ou inférieures. Le standard ECMA-262 ne nécessite qu'une précision allant jusqu'à 21 chiffres significatifs.
Exemples
var objetNumber = 5.123456;
console.log(objetNumber.toPrecision()); //affiche "5.123456"
console.log(objetNumber.toPrecision(5)); //affiche "5.1235"
console.log(objetNumber.toPrecision(2)); //affiche "5.1"
console.log(objetNumber.toPrecision(1)); //affiche "5"
numObj = 0.000123;
console.log(numObj.toPrecision()); // affiche "0.000123"
console.log(numObj.toPrecision(5)); // affiche "0.00012300"
console.log(numObj.toPrecision(2)); // affiche "0.00012"
console.log(numObj.toPrecision(1)); // affiche "0.0001"
// dans certaines circonstances, on peut avoir une notation exponentielle
console.log((1234.5).toPrecision(2)); // "1.2e+3"
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-number.prototype.toprecision> |
Compatibilité des navigateurs
Chargement…