Number.prototype.toPrecision()

基线 广泛可用

此功能已得到良好确立,并且可在许多设备和浏览器版本上运行。它自以下时间起在浏览器中可用 2015 年 7 月.

toPrecision() 方法是 Number 值的方法,它返回一个字符串,表示此数字到指定的有效数字位数。

试一试

语法

js
toPrecision()
toPrecision(precision)

参数

precision 可选

指定有效数字位数的整数。

TypeError

如果此方法在不是 Number 的对象上调用,则会抛出此错误。

返回值

表示给定数字的字符串,使用给定的有效数字位数。如果指数大于或等于precision或小于 -6,则使用科学计数法。如果省略了precision参数,则具有与Number.prototype.toString()相同的行为。

异常

RangeError

如果precision不在1100(含)之间,则会抛出此错误。

示例

使用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'

规范

规范
ECMAScript 语言规范
# sec-number.prototype.toprecision

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅