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.
The toPrecision()
method of Number
values returns a string representing this number to the specified number of significant digits.
Try it
Syntax
toPrecision()
toPrecision(precision)
Parameters
precision
Optional-
An integer specifying the number of significant digits.
TypeError
-
Thrown if this method is invoked on an object that is not a
Number
.
Return value
A string representing the given number, using the given number of significant digits. Scientific notation is used if the exponent is greater than or equal to precision
or less than -6. Has the same behavior as Number.prototype.toString()
if the precision
argument is omitted.
Exceptions
RangeError
-
Thrown if
precision
is not between1
and100
(inclusive).
Examples
Using toPrecision
// This number has exponent 0, so it will never use exponential notation
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'
// This number has exponent -4, so it will never use exponential notation
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'
// This number has exponent 3, so it will use exponential notation if precision is less than 4
num = 1234.5;
console.log(num.toPrecision(1)); // '1e+3'
console.log(num.toPrecision(2)); // '1.2e+3'
console.log(num.toPrecision(6)); // '1234.50'
// This number has exponent -7, so it will always use exponential notation
num = 0.00000012345;
console.log(num.toPrecision(1)); // '1e-7'
console.log(num.toPrecision(10)); // '1.234500000e-7'
Specifications
Specification |
---|
ECMAScript Language Specification # sec-number.prototype.toprecision |
Browser compatibility
BCD tables only load in the browser