在线文档教程

number.toPrecision

number.toPrecision

toPrecision()方法以指定的精度返回该数值对象的字符串表示。

语法

numObj.toPrecision([precision])

参数

precision可选。一个用来指定有效数个数的整数。

返回值

以定点表示法或指数表示法表示的一个数值对象的字符串表示,四舍五入到 precision参数指定的显示数字位数。查看Number.prototype.toFixed()方法关于四舍五入的讨论,同样应用于 toPrecision 方法。

如果忽略 precision参数,则该方法表现类似于Number.prototype.toString()。如果该参数是一个非整数值,将会向下舍入到最接近的整数。

异常

RangeError如果precison参数不在 1 和 100 (包括)之间,将会抛出一个RangeError。执行环境也可以支持更大或更小的范围。ECMA-262 只需要最多 21 位显示数字。

示例

使用toPrecision

var numObj = 5.123456; console.log(numObj.toPrecision() // logs '5.123456' console.log(numObj.toPrecision(5) // logs '5.1235' console.log(numObj.toPrecision(2) // logs '5.1' console.log(numObj.toPrecision(1) // logs '5' numObj = 0.000123 console.log(numObj.toPrecision() // logs '0.000123' console.log(numObj.toPrecision(5) // logs '0.00012300' console.log(numObj.toPrecision(2) // logs '0.00012' console.log(numObj.toPrecision(1) // logs '0.0001' // note that exponential notation might be returned in some circumstances console.log((1234.5).toPrecision(2) // logs '1.2e+3'

规范

SpecificationStatusComment
ECMAScript 3rd Edition (ECMA-262)StandardInitial definition. Implemented in JavaScript 1.5.
ECMAScript 5.1 (ECMA-262)The definition of 'Number.prototype.toPrecision' in that specification.Standard
ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'Number.prototype.toPrecision' in that specification.Standard
ECMAScript Latest Draft (ECMA-262)The definition of 'Number.prototype.toPrecision' in that specification.Draft

浏览器兼容性

FeatureChromeFirefoxEdgeInternet ExplorerOperaSafari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)

FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)