JavaScript

最終更新日:
公開日:

レシピ

数値

数値を指定した桁数の文字列に変換する

数値を指定した桁数に整えた文字列に変換する方法について解説します。

この記事のポイント

  • toPrecisionメソッドは指定した桁数になるよう表記を自動的に調整して、数値(Number)から文字列(String)に変換する
  • 桁数が足りないときは小数点以下に「0」を追加して埋める

指定した桁数の数値にする

数値の桁数を指定した表記にするときはtoPrecisionメソッドを使います。
このメソッドにパラメータとして桁数を数値で渡すと、その桁数の表記に変換された値を取得することができます。
また、戻り値は数値(Number)から文字列(String)に変換されます。

以下の例では変数number1に入っている数値「1」に対して、toPrecisionメソッドで指定した桁数の数値に変更します。

JavaScript コード例

let number1 = 1;

console.log(number1.toPrecision()); // '1'
console.log(number1.toPrecision(1)); // '1'
console.log(number1.toPrecision(2)); // '1.0'
console.log(number1.toPrecision(5)); // '1.0000'

出力した値を確認すると、toPrecisionメソッドで指定した桁数になるように数値が変換されていることが分かります。
桁数が足りないときは小数点以下に「0」を追加して整える形になります。

また、toPrecisionメソッドに桁数をパラメータで指定しない場合は渡した値をそのまま文字列に変換します。

toPrecisionメソッド0以外の数値を起点にした変換を行います。
以下の例は変数number1number5に入っている数値に対してtoPrecisionメソッドを実行します。

JavaScript コード例

let number1 = 1;
let number2 = 1.1;
let number3 = 0;
let number4 = 0.00123456;
let number5 = 1000.0005;
let number6 = -3.2123456;
let number7 = -100.2;

// そのまま出力
console.log(number1.toPrecision()); // '1'
console.log(number2.toPrecision()); // '1.1'
console.log(number3.toPrecision()); // '0'
console.log(number4.toPrecision()); // '0.00123456'
console.log(number5.toPrecision()); // '1000.0005'
console.log(number6.toPrecision()); // '-3.2123456'
console.log(number7.toPrecision()); // '-100.2'

// 2桁に変換
console.log(number1.toPrecision(2)); // '1.0'
console.log(number2.toPrecision(2)); // '1.1'
console.log(number3.toPrecision(2)); // '0.0'
console.log(number4.toPrecision(2)); // '0.0012'
console.log(number5.toPrecision(2)); // '1.0e+3'
console.log(number6.toPrecision(2)); // '-3.2'
console.log(number7.toPrecision(2)); // '-1.0e+2'

// 5桁に変換
console.log(number1.toPrecision(5)); // '1.0000'
console.log(number2.toPrecision(5)); // '1.1000'
console.log(number3.toPrecision(5)); // '0.0000'
console.log(number4.toPrecision(5)); // '0.0012346'
console.log(number5.toPrecision(5)); // '1000.0'
console.log(number6.toPrecision(5)); // '-3.2123'
console.log(number7.toPrecision(5)); // '-100.20'

2桁に変換した結果を確認していくと、変数number4の値は0以外の数値「0.01」が登場する桁から数えて2つの場所「0.0012」で四捨五入した値になっています。

変数number5の値「1000.0005」は表記を2桁にするために「e+3」(10の3乗)に変換して、小数点以下は四捨五入します。
このように、指定した桁数の表記になるように自動的に調整した値を取得することができます。

負の値についても同様に指定した桁数の表記に調整した値を取得することができます。
なお、桁数に「」は含みません。

こちらの記事は役に立ちましたか?

ありがとうございます。
もしよろしければ、あわせてフィードバックや要望などをご入力ください。

コメントありがとうございます!
運営の参考にさせていただきます。