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 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> |
浏览器兼容性
Loading…