Number.prototype.toPrecision() - JavaScript | MDN
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
Number 值的 toPrecision() 方法返回一个以指定精度表示该数字的字符串。
尝试一下
function precise(x) {
return x.toPrecision(4);
}
console.log(precise(123.456));
// Expected output: "123.5"
console.log(precise(0.004));
// Expected output: "0.004000"
console.log(precise(1.23e5));
// Expected output: "1.230e+5"
语法
js
toPrecision()
toPrecision(precision)
参数
precision可选-
一个指定有效位数的整数。
返回值
一个以定点表示法或指数表示法表示 Number 对象的字符串,该字符串四舍五入到 precision 个有效数字。有关四舍五入的讨论,请参阅 Number.prototype.toFixed() 方法的描述,其也适用于 toPrecision()。
如果 precision 参数被省略,则与 Number.prototype.toString() 行为相同。如果 precision 参数不是整数,则将其四舍五入到最近的整数。
异常
RangeError-
如果
precision不在1和100之间(包含两端),则抛出该错误。
示例
使用 toPrecision
js
let numObj = 5.123456;
console.log(numObj.toPrecision()); // 输出 '5.123456'
console.log(numObj.toPrecision(5)); // 输出 '5.1235'
console.log(numObj.toPrecision(2)); // 输出 '5.1'
console.log(numObj.toPrecision(1)); // 输出 '5'
numObj = 0.000123;
console.log(numObj.toPrecision()); // 输出 '0.000123'
console.log(numObj.toPrecision(5)); // 输出 '0.00012300'
console.log(numObj.toPrecision(2)); // 输出 '0.00012'
console.log(numObj.toPrecision(1)); // 输出 '0.0001'
// 请注意,在某些情况下可能会返回指数表示法字符串
console.log((1234.5).toPrecision(2)); // 输出 '1.2e+3'
规范
| Specification |
|---|
| ECMAScript® 2026 Language Specification # sec-number.prototype.toprecision |