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

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

javascriptで、toPrecisionメソッドを使用して、1指定した桁数で数値を文字列に変換するサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 103.0.5060.134

toPrecision使い方

「toPrecision」を使用すると、指定した桁数で数値を文字列に変換することが可能です。

数値.toPrecision(桁数)

toPrecision使い方

const num = 123.456;

console.log(
  num.toPrecision() // 123.456
);

console.log(
  num.toPrecision(4) // 123.5 丸められる
);

console.log(
  num.toPrecision(5) // 123.46 丸められる
);

console.log(
  num.toPrecision(10) // 123.4560000 桁を超えると0埋めされる
);

console.log(
  num.toPrecision(1) // 1e+2 指数になる
);

少数のみ

少数のみの場合は、以下となります。

const num = 0.123;

console.log(
  num.toPrecision() // 0.123
);

console.log(
  num.toPrecision(4) // 0.1230
);

console.log(
  num.toPrecision(5) // 0.12300
);

console.log(
  num.toPrecision(1) // 0.1
);

整数

整数の場合は、桁数を超えると少数の「0」埋めが行われます。

const num = 123;

console.log(
  num.toPrecision(4) // 123.0
);

console.log(
  num.toPrecision(2) // 1.2e+2
);

console.log(
  num.toPrecision(1) // 1e+2
);

指定できる範囲

「toPrecision」で指定できる範囲は「1~100」までのため、範囲を超えるとエラーとなります。

const num = 0.123;

console.log(
  num.toPrecision(101) // Uncaught RangeError: toPrecision() argument must be between 1 and 100
);

また、少数は指定することが可能です。

const num = 0.123;

console.log(
  num.toPrecision(1.1) // 0.1
);

console.log(
  num.toPrecision(1.9) // 0.1
);

変数を使用しない

変数を使用しない場合は、少数の場合はエラーになりませんが、整数はエラーになります。

console.log(
  12.3.toPrecision(2) // 12
);

console.log(
  12.toPrecision(2) // Uncaught SyntaxError: Invalid or unexpected token
);

「()」を使用すれば、エラーは回避できます。

console.log(
  (12).toPrecision(2) // 12
);