Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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

js
toPrecision()
toPrecision(precision)

Paramètre

precision Facultatif

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 precision n'est pas comprise entre 1 et 100 (inclus).

TypeError

Levée si cette méthode est invoquée sur un objet qui n'est pas un Number.

Exemples

Utiliser toPrecision()

js
// 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