数値の有効桁数を指定して文字列に変換する(toPrecision)

Number オブジェクトのインスタンスメソッドである toPrecision は、数値の有効桁数を指定した上で文字列に変換した値を取得することができます。ここでは Number オブジェクトの toPrecision メソッドの使い方について解説します。

(Last modified: )

有効の桁数を指定したあとで文字列に変換する(toPrecision)

Number オブジェクトの toPrecision メソッドは、対象の数値の有効桁数を指定し、そのあとで数値を文字列に変換した値を返します。書式は次のとおりです。

数値.toPrecision([有効桁数])

数値の有効桁数を引数に指定した値に変更し、そのあとで文字列に変換した値を返します。引数を省略した場合は、数値の有効桁数を変更せずに文字列に変換した値を返します。

引数で指定した有効桁数で表示しきれない部分はより近い値へ丸められます。(四捨五入に似ていますが正確には異なります)。また数値を表すのに必要な桁数よりも引数で指定した桁数が多い場合は 0 で埋められます。

次のサンプルをみてください。

let num = 34.5642;

console.log(num.toPrecision());
>> 34.5642
console.log(num.toPrecision(3));
>> 34.6
console.log(num.toPrecision(5));
>> 34.564
console.log(num.toPrecision(8));
>> 34.564200

場合によっては有効桁数を設定したことによって指数形式に変換されたあとで文字列として返される場合があります。

let num = 5678.9

console.log(num.toPrecision());
>> 5678.9
console.log(num.toPrecision(2));
>> 5.7e+3
console.log(num.toPrecision(3));
>> 5.68e+3
console.log(num.toPrecision(4));
>> 5679
console.log(num.toPrecision(6));
>> 5678.90

なお整数のように小数点が含まれない数値に対して直接 toPrecision メソッドを実行する場合は、数値を括弧で囲うか数値のあとに空白を追加してください。

console.log(48.toPrecision(3));
>> Uncaught SyntaxError: Invalid or unexpected token

console.log((48).toPrecision(2)); // 数値を括弧で囲う
>> 48

console.log(48 .toPrecision(2)); // 数値のあとに空白を入れる
>> 48

-- --

Number オブジェクトの toPrecision メソッドの使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。