Number.prototype.toPrecision()

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

js
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écison n'est pas compris, au sens large, entre 1 et 100, on aura une exception RangeError. 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

js
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® 2025 Language Specification
# sec-number.prototype.toprecision

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
toPrecision

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi