JavaScript toPrecision() 语法
toPrecision() 是 JavaScript Number 对象的一个方法,它会以字符串的形式来返回某个数字的 “指定精度表示”。
语法:
num.toPrecision(n)说明:
toPrecision() 方法接收单个参数。
n(可选):表示保留 n 位有效数字。如果 n 省略,其行为等同于 toString() 方法。
JavaScript toPrecision() 摘要
| 属于 | JavaScript Number 对象 |
|---|---|
| 使用频率 | 中 |
| 官方文档 | 查看 |
| MDN | 查看 |
JavaScript toPrecision() 示例
接下来,我们通过几个简单的例子来讲解 JavaScript toPrecision() 是如何使用的。
示例 1:toPrecision() 基本用法
const num = 3.1415926;
const result = num.toPrecision(4);
console.log(result);
console.log(typeof(result));运行结果如下。
3.142
string分析:
num.toPrecision(4) 表示保留 4 位有效数字,并且会对最后一位有效数字的下一位数字四舍五入。对于一个数值来说,从左边数第一个不为 0 的数,一直到最后一位数字,都属于有效数字。
示例 2:toPrecision() 的更多使用
// 处理小数(常规用法)
const smallNum = 0.00031415926;
console.log(smallNum.toPrecision(2)); // 0.00031
// 补零对齐(当精度 > 实际位数)
const shortNum = 1.5;
console.log(shortNum.toPrecision(4)); // 1.500 (后位补零)
// 自动转科学计数法
const largeNum = 5678;
console.log(largeNum.toPrecision(2)); // 5.7e+3 (整数位不够放,自动转指数)
console.log(largeNum.toPrecision(1)); // 6e+3 (四舍五入)运行结果如下。
0.00031
1.500
5.7e+3
6e+3toPrecision() 与 toFixed() 的区别
toPrecision() 与 toFixed() 这两个方法很相似,它们之间的区别在于:toPrecision(n) 表示保留 n 位有效数字,toFixed(n) 表示保留 n 位小数。
示例 3:toPrecision() vs toFixed()
const num = 314.15926;
const result1 = num.toFixed(3);
console.log(result1);
const result2 = num.toPrecision(3);
console.log(result2);运行结果如下。
314.159
314