Number : méthode toPrecision()
Baseline
Large disponibilité
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() de Number retourne une chaîne de caractères représentant ce nombre avec le nombre de chiffres significatifs défini.
Exemple interactif
function precise(x) {
return x.toPrecision(4);
}
console.log(precise(123.456));
// Sortie attendue : "123.5"
console.log(precise(0.004));
// Sortie attendue : "0.004000"
console.log(precise(1.23e5));
// Sortie attendue : "1.230e+5"
Syntaxe
toPrecision()
toPrecision(precision)
Paramètre
precisionFacultatif-
Un entier définissant le nombre de chiffres significatifs.
Valeur de retour
Une chaîne de caractères représentant le nombre donné, en utilisant le nombre de chiffres significatifs défini. La notation scientifique est utilisée si l'exposant est supérieur ou égal à precision ou inférieur à -6. A le même comportement que Number.prototype.toString() si l'argument precision est omis.
Exceptions
RangeError-
Levée si
precisionn'est pas comprise entre1et100(inclus). TypeError-
Levée si cette méthode est invoquée sur un objet qui n'est pas un
Number.
Exemples
>Utiliser toPrecision()
// Ce nombre a un exposant de 0, il n'utilise donc jamais la notation exponentielle
let num = 5.123456;
console.log(num.toPrecision()); // '5.123456'
console.log(num.toPrecision(5)); // '5.1235'
console.log(num.toPrecision(2)); // '5.1'
console.log(num.toPrecision(1)); // '5'
// Ce nombre a un exposant de -4, il n'utilise donc jamais la notation exponentielle
num = 0.000123;
console.log(num.toPrecision()); // '0.000123'
console.log(num.toPrecision(5)); // '0.00012300'
console.log(num.toPrecision(2)); // '0.00012'
console.log(num.toPrecision(1)); // '0.0001'
// Ce nombre a un exposant de 3, il utilise donc la notation exponentielle si `precision` est inférieure à 4
num = 1234.5;
console.log(num.toPrecision(1)); // '1e+3'
console.log(num.toPrecision(2)); // '1.2e+3'
console.log(num.toPrecision(6)); // '1234.50'
// Ce nombre a un exposant de -7, il utilise donc toujours la notation exponentielle
num = 0.00000012345;
console.log(num.toPrecision(1)); // '1e-7'
console.log(num.toPrecision(10)); // '1.234500000e-7'
Spécifications
| Spécification |
|---|
| ECMAScript® 2027 Language Specification> # sec-number.prototype.toprecision> |
Compatibilité des navigateurs
Voir aussi
- La méthode
Number.prototype.toFixed() - La méthode
Number.prototype.toExponential() - La méthode
Number.prototype.toString()