Number.prototype.toPrecision()

The toPrecision() method returns a string representing the Number object 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