この翻訳は不完全です。英語から この記事を翻訳 してください。

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

<table class="fullwidth-table"> <tr> <td class="header" colspan="2">Method of Number</td> </tr> <tr> <td>実装されたバージョン</td> <td>JavaScript 1.5</td> </tr> <tr> <td>ECMA バージョン</td> <td>ECMA-262</td> </tr> </table>

構文

numObj.toPrecision([precision])

引数

precision
有効数字の数を指定する整数。オプション。

戻り値

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

もし 引数 precision が省略された場合、Number.prototype.toString() のように振舞います。整数値ではない場合は、最も近い整数に概数化されます。概数化した後、その値が 1 以上 かつ 100 以下ではない場合、RangeError が投げられます。

例外

RangeError
If precision is not between 1 and 100 (inclusive), a RangeError is thrown. Implementations are allowed to support larger and smaller values as well. ECMA-262 only requires a precision of up to 21 significant digits.

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'

仕様

Specification Status Comment
ECMAScript 3rd Edition (ECMA-262) 標準 Initial definition. Implemented in 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 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
基本対応Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 1IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり

凡例

完全対応  
完全対応

参照

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

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