Number.prototype.toPrecision() - JavaScript | MDN

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.

toPrecision()Number 値のメソッドで、この数値を指定された有効桁数で表す文字列を返します。

試してみましょう

function precise(x) {
  return x.toPrecision(4);
}

console.log(precise(123.456));
// 予想される結果: "123.5"

console.log(precise(0.004));
// 予想される結果: "0.004000"

console.log(precise(1.23e5));
// 予想される結果: "1.230e+5"

構文

js

toPrecision()
toPrecision(precision)

引数

precision 省略可

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

返値

指定された数値を、指定された有効桁数で表します。指数が precision 以上または -6 未満の場合、科学記数法が使用されます。precision 引数が省略された場合、Number.prototype.toString() と同じ動作をします。

例外

RangeError

precision1 以上 100 以下の範囲にない場合に発生します。

TypeError

これのメソッドが Number ではないオブジェクトに対して呼び出した場合、例外が発生します。

toPrecision の使用

js

// この数値は指数が 0 であるため、指数表記が使用されることはない
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'

// この数値は指数が-4であるため、指数表記が使用されることはない
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'

// この数値は指数が 3 であるため、精度が 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'

// この数値は指数が -7 であるため、常に指数表記を使用する
num = 0.00000012345;
console.log(num.toPrecision(1)); // '1e-7'
console.log(num.toPrecision(10)); // '1.234500000e-7'

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-number.prototype.toprecision

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.