Number.prototype.toPrecision()

The toPrecision() method of Number values returns a string representing this number to the specified precision.

Try it

Syntax

js
toPrecision()
toPrecision(precision)

Parameters

precision Optional

An integer specifying the number of significant digits.

Return value

A string representing a Number object in fixed-point or exponential notation rounded to precision significant digits. See the discussion of rounding in the description of the Number.prototype.toFixed() method, which also applies to toPrecision().

If the precision argument is omitted, behaves as Number.prototype.toString(). If the precision argument is a non-integer value, it is rounded to the nearest integer.

Exceptions

RangeError

Thrown if precision is not between 1 and 100 (inclusive).

Examples

Using toPrecision

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

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'

// note that exponential notation might be returned in some circumstances
console.log((1234.5).toPrecision(2)); // '1.2e+3'

Specifications

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

Browser compatibility

BCD tables only load in the browser

See also