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.

El método toPrecision() devuelve una cadena que representa un objeto Number según la precisión especificada.

Pruébalo

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"

Sintaxis

numObj.toPrecision([precision])

Parámetros

precision

Opcional. Un entero que especifica el número de digitos significativos.

Valor devuelto

Una cadena que representa un objeto Number en punto fijo o en notación exponencial redondeada a precision de digitos significativos. Vea la discusión acerca del redondeo en la descripción del método Number.prototype.toFixed() , que además aplica a toPrecision().

Si el parámetro precision es omitido, se comporta como Number.prototype.toString(). Si el parámetro precision es un valor no entero, el valor es redondeado al entero más cercano.

Exceptions

RangeError

If precision is not between 1 and 100 (inclusive), a RangeError is thrown. Implementations are allowed to support larger and smaller values as well. ECMA-262 only requires a precision of up to 21 significant digits.

Ejemplos

Usando toPrecision

js
var numObj = 5.123456;

console.log(numObj.toPrecision()); // logs '5.123456'
console.log(numObj.toPrecision(5)); // logs '5.1235'
console.log(numObj.toPrecision(2)); // logs '5.1'
console.log(numObj.toPrecision(1)); // logs '5'

numObj = 0.000123;

console.log(numObj.toPrecision()); // logs '0.000123'
console.log(numObj.toPrecision(5)); // logs '0.00012300'
console.log(numObj.toPrecision(2)); // logs '0.00012'
console.log(numObj.toPrecision(1)); // logs '0.0001'

// observe que bajo algunas circunstancias el valor retornado es en notación exponencial
console.log((1234.5).toPrecision(2)); // logs '1.2e+3'

Especificaciones

Specification
ECMAScript® 2025 Language Specification
# sec-number.prototype.toprecision

Compatibilidad con navegadores

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

Vea También