toPrecision() メソッドは Number オブジェクトを指定された精度で表した文字列を返します。

構文

numObj.toPrecision([precision])

引数

precision
任意です。有効数字の数を指定する整数です。

戻り値

Number オブジェクトを precision で指定された桁で概数化された、固定小数点数、または指数表記で表した文字列です。概数の表現方法については Number.prototype.toFixed() メソッドの説明を参照してください。それは toPrecision() にも適用されます。

引数 precision が省略された場合、Number.prototype.toString() のように振舞います。precision が整数の値ではない場合は、最も近い整数に概数化されます。

例外

RangeError
precision が(包括的に) 1 と 100 の間でない場合、 RangeError が throw されます。実装上はこの範囲を超えた値もサポートできます。ECMA-262 では 21 桁までの制度を必要とします。

toPrecision を使う

var num = 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'

仕様

仕様書 策定状況 コメント
ECMAScript 3rd Edition (ECMA-262) 標準 初期定義です。JavaScript 1.5 で実装されました。
ECMAScript 5.1 (ECMA-262)
Number.prototype.toPrecision の定義
標準  
ECMAScript 2015 (6th Edition, ECMA-262)
Number.prototype.toPrecision の定義
標準  
ECMAScript Latest Draft (ECMA-262)
Number.prototype.toPrecision の定義
ドラフト  

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
toPrecisionChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 1IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり

凡例

完全対応  
完全対応

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mdnwebdocs-bot, segayuu, isdh, teoli, ethertank, fscholz, Potappo
最終更新者: mdnwebdocs-bot,