Number.prototype.toPrecision()
The toPrecision()
method of Number
values returns a string representing this number to the specified number of significant digits.
Try it
Syntax
js
toPrecision()
toPrecision(precision)
Parameters
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
js
// 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