スキルアップを始める!

【GAS】文字列を数値に変換する方法(JavaScript)

GAS(GoogleAppsScript)
この記事は約3分で読めます。

※記事中に広告情報を含みます。

\ワードプレスのスキルアップはこちら!/ WordPress入門読本

例えば、列の合計値を出そうとして、セルの値を足していくと…

全部の数字が繋がって、連結された状態になってしまいました・・・。

こちらを「数値の合計」に変換してみます。

とりあえず、コード。

こんな感じになりました。シンプルに列の右側の数値を全部足していく感じにしてみました。

function sumrow() {
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const sheet = spreadsheet.getActiveSheet();
const activesheet = sheet.getActiveCell();
const Row = activesheet.getRow();
const lastCol = sheet.getLastColumn();
const COL_NUM = 2;
let calc = "";
let total = "";
for(i=0; i<lastCol;i++){
  calc = sheet.getRange(Row,COL_NUM+i).getValue();
  total += calc;
}
return total;
}

そして、セルで実行してみると。

_| ̄|○

文字を数値に変換する(Number)

結果を見ると文字の連結のようになっているので、取得した値を数値に変換します。

[rml_read_more]

セルの値を取得している部分を「Number」を使って変換します。total、calc、それぞれの変数をNumber()を使って変換します。

for(i=0; i<lastCol;i++){
  calc = sheet.getRange(Row,COL_NUM+i).getValue();
  total = Number(total) + Number(calc);
}

Number
Number はプリミティブラッパーオブジェクトで、 37 や -9.25 のような数値を表現したり操作したりするために使用されます。

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Number
Number('123')  // 数値 123 を返す
Number('123') === 123  // true

Number("unicorn")  // NaN
Number(undefined)  // NaN

結果▶

数値に変換されました!

まとめ

ということで、Numberのコンストラクターを使うと、変数の中身を数値に変換してくれます。

そもそも、let calc = “”;、let total = “”;の部分をlet calc = 0;、let total = 0;としておくと、変換が要らなかったような気もします・・・。

が、文字を後から数値に変換したいという場合には今回の方法が使えます。

ご参考ください😃

URLをコピーしました!