Number.prototype.toPrecision()

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

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

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'

Especificaciónes

Especificación Estado Comentario
ECMAScript 3rd Edition (ECMA-262) Standard Primera definición. Implementada en JavaScript 1.5.
ECMAScript 5.1 (ECMA-262)
La definición de 'Number.prototype.toPrecision' en esta especificación.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
La definición de 'Number.prototype.toPrecision' en esta especificación.
Standard  
ECMAScript Latest Draft (ECMA-262)
La definición de 'Number.prototype.toPrecision' en esta especificación.
Draft  

Compatibilidad de navegadores

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome para AndroidFirefox para AndroidOpera para AndroidSafari en iOSSamsung InternetNode.js
toPrecisionChrome Soporte completo SiEdge Soporte completo 12Firefox Soporte completo 1IE Soporte completo SiOpera Soporte completo SiSafari Soporte completo SiWebView Android Soporte completo SiChrome Android Soporte completo SiFirefox Android Soporte completo 4Opera Android Soporte completo SiSafari iOS Soporte completo SiSamsung Internet Android Soporte completo Sinodejs Soporte completo Si

Leyenda

Soporte completo  
Soporte completo

Vea También