试一试
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可选-
指定有效数字位数的整数。
返回值
表示给定数字的字符串,使用给定的有效数字位数。如果指数大于或等于 precision 或小于 -6,则使用科学计数法。如果省略 precision 参数,则行为与 Number.prototype.toString() 相同。
异常
RangeError-
如果
precision不是介于1和100(含)之间,则抛出错误。 TypeError-
如果此方法在非
Number对象上调用,则抛出该错误。
示例
使用 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® 2026 语言规范 # sec-number.prototype.toprecision |
浏览器兼容性
加载中…