GoogleAppsScript

【GAS】文字列から数値に変換する3つの方法 | Number, parseInt, parseFloat

GASで文字列を数値に変換

Google Apps Script(GAS)で文字列から数値に変換する方法を解説します。

Number、parseInt、parseFloatメソッドといった関数を活用して、文字列を正確な数値に変換するテクニックを学びましょう。

GASのNumber関数による変換

Google Apps Script(GAS)を使用して、文字列(String型)から数値(Int型)に変換する方法を解説します。

Number関数を使用することで、文字列を正確な数値に変換するテクニックを学びましょう。

Number関数の基本的な使い方

Number関数は、文字列を数値に変換するための便利な方法です。

基本的な使い方や注意点について解説します。

書式

Number(文字列)

引数タイプ内容
文字列String数値に変換したい文字列
let str = "123.45";

let num = Number(str);
Logger.log("変換結果: " + num); // 123.45

小数点数や整数への変換

Number関数を使って、文字列を小数点数や整数に変換する方法は以下の通りです。

let floatStr = "3.14";
let intStr = "42";

let floatValue = Number(floatStr);
let intValue = Number(intStr);

Logger.log("小数点数変換: " + floatValue); // 3.14
Logger.log("整数変換: " + intValue); // 42

数値フォーマットの適用

Number関数を用いて数値フォーマットを適用することで、表示を整えることができます。

小数点以下の桁数指定や桁区切り付き表示は以下のように行います。

let pi = 3.14159265359;

let formattedPi = Number(pi).toFixed(2);  // 3.14

GASのparseInt関数での変換

Google Apps Script(GAS)を使用して、文字列から整数に変換する方法を解説します。

parseInt関数を活用して、文字列から整数への変換を行う際の特性や注意点を学びましょう。

parseInt関数の書式

parseInt関数は、文字列を整数に変換する際に利用される重要な関数です。

書式

parseInt(文字列,進数) //進数は省略可能

引数タイプ内容
文字列String整数に変換する文字列
(進数)Integer進数を示す整数。省略時は10進数が使用される。
let str = "123";

let integer = parseInt(str);
Logger.log("変換結果: " + integer); // 123

主要な進数の紹介

ガスシカオ

進数(基数)は、数を表現するための記数法で、数字の種類や桁の進み方を指定します。

  1. 10進法(デシマル): 日常的な数の表現方法。0から9までの10種類の数字を使用します。例えば、123は10進法での表現です。
  2. 2進法(バイナリ): コンピュータ内部で情報を表現する際に使用される。0と1の2種類の数字を使用します。例えば、10進法の数値9は2進法では1001と表現されます。
  3. 16進法(ヘキサデシマル): 主にコンピュータのメモリアドレスやバイト列の表現に使われる。0から9までの数字とAからFまでの6つのアルファベットを使用します。例えば、10進法の数値15は16進法ではFと表現されます。
  4. 60進法: 時間の分・秒を表現するのに用いられる。60分で1時間、60秒で1分になるように進みます。例えば、1時間30分は60進法では1:30と表現されます。

文字列から整数への変換

parseInt関数を使用して、文字列から整数への変換を行った例はこちらです。

let numStr = "42";
let hexStr = "2A";

let num = parseInt(numStr); // 42
let hexNum = parseInt(hexStr, 16); // 42

基数の指定と進数変換

parseInt関数では、進数(基数)を指定することで、異なる進数の文字列を整数に変換できます

基数指定による進数変換についても解説します。

let binaryStr = "1010";
let octalStr = "12";

let binaryNum = parseInt(binaryStr, 2);
let octalNum = parseInt(octalStr, 8);

Logger.log("変換結果1: " + binaryNum); // 10
Logger.log("変換結果2: " + octalNum); // 10

GASのparseFloat関数の活用

Google Apps Script(GAS)を使用して、文字列から浮動小数点数に変換する方法を解説します。

parseFloat関数を活用して、正確な浮動小数点数への変換や小数点以下の精度に関する知識を学びましょう。

parseFloat関数の書式

parseFloat関数は、文字列を浮動小数点数に変換するための重要な関数です。その特徴や使い方について解説します。

書式

parseFloat(文字列)

引数タイプ内容
文字列String浮動小数点数に変換する文字列

parseFloat関数の特徴と使い方

  1. 浮動小数点数への変換: parseFloat関数は、与えられた文字列を解析し、最初の浮動小数点数を取り出します。この関数は、数値が含まれている文字列から数値を取り出す際に使用されます。
  2. 不要な文字の無視: parseFloat関数は、数値の直前にある空白や、数値の後にある文字(数字やドットなど)以外の文字を無視します。ただし、数値の前に文字がある場合、変換は行われません。
  3. 返り値: parseFloat関数は、与えられた文字列から抽出された浮動小数点数を返します。もし文字列内に有効な浮動小数点数が見つからない場合、関数は「NaN」(Not-a-Number)を返します。

文字列から浮動小数点数への変換

parseFloat関数を使用して、文字列から浮動小数点数への変換を行う方法を学びましょう。

let floatStr1 = "3.14";
let floatStr2 = "2.718";

let num1 = parseFloat(floatStr1);
let num2 = parseFloat(floatStr2);

Logger.log("変換結果1: " + num1); // 3.14
Logger.log("変換結果2: " + num2); // 2.718

小数点以下の精度と注意点

parseFloat関数における小数点以下の精度や注意点について解説します。

浮動小数点数の表現や計算において留意すべきポイントを確認しましょう。

  1. 浮動小数点数の精度: JavaScriptの浮動小数点数は、IEEE 754標準に基づいて表現されます。これにより、一部の小数の精度に関する問題が発生する可能性があります。例えば、0.1 + 0.2 のような計算結果が完全に正確でない場合があります。
  2. 小数点と地域設定: parseFloat関数は、小数点(ドット)を正しく解釈しますが、一部の地域設定では小数点の代わりにカンマが使われることがあります。この場合、関数は期待通りに動作しない可能性があります。

具体例

var str = "1,234.56"; // カンマを含む文字列
var num = parseFloat(str);
console.log(num); // 出力: 1
ガスシカオ

この例では、カンマが浮動小数点数の解釈に影響を与え、正しい値が取得できていません。

Number・parseInt・parseFloatの使い分け

Number、parseInt、およびparseFloatは、それぞれ数値への変換に使用される組み込み関数ですが、使い分ける際には次のようなポイントに注意することがおすすめです。

事例 1: 数値が整数

引数: “42”の場合

関数固定引数結果
Number“42”42
parseInt“42”42
parseFloat“42”42

この場合、すべての関数は同じ整数値を返します。

事例 2: 小数が含まれる数値

引数: “3.14”

関数固定引数結果
Number“3.14”3.14
parseInt“3.14”3
parseFloat“3.14”3.14

Number関数は小数を保持し、parseInt関数は整数部分のみを返し、parseFloat関数は小数も含めて値を返します。

事例 3: 指数表記

引数: “1.23e2”

関数固定引数結果
Number“1.23e2”123
parseInt“1.23e2”1
parseFloat“1.23e2”123

Number関数は指数表記を解釈し、浮動小数点数に変換しますが、parseInt関数は指数部分を無視して整数を返します。parseFloat関数も指数表記を解釈して浮動小数点数に変換します。

事例 4: カンマを含む数値(地域設定の影響)

引数: “1,000.5”

関数固定引数結果
Number“1,000.5”NaN
parseInt“1,000.5”1
parseFloat“1,000.5”1

この例では、parseIntとparseFloatはカンマを無視して処理しますが、Number関数はカンマのために解釈できずにNaNを返します。

ガスシカオ

これらの事例から、適切な関数を選ぶ際に注意すべき点と、関数ごとの特徴が分かるかと思います。

まとめ

Number関数:

一般的な数値への変換や、変数の値を数値として評価する場合に使用します。

また、整数や浮動小数点数など、幅広い数値型に変換することができます。

ただし、文字列に数値以外の文字が含まれている場合、変換結果はNaN(Not-a-Number)となります。

let str = "123.45";
let num = Number(str); // 123.45

parseInt関数:

文字列から整数を抽出する際に使用します。基数(進数)を指定することで、指定した進数での変換を行うことができます。

ただし、浮動小数点数を変換する際や、変換対象の文字列に数値以外の文字が含まれている場合、変換結果は整数部分だけとなります。

let intStr = "42";
let hexStr = "2A";
let intValue = parseInt(intStr); // 42
let hexValue = parseInt(hexStr, 16); // 42

parseFloat関数:

文字列から浮動小数点数を抽出する際に使用します。

整数部分と小数点以下の精度を保持したまま変換することができます。

ただし、変換対象の文字列に数値以外の文字が含まれている場合、変換結果は浮動小数点数部分だけとなります。

let floatStr = "3.14";
let floatValue = parseFloat(floatStr); // 3.14

最後に

使い分ける際の基本的な考え方は、変換対象の文字列が整数か小数か、またはどのような数値型を期待しているかによります。

また、変換対象の文字列に数値以外の文字が含まれている可能性があるかどうかも考慮する必要があります。

適切な関数を選んで利用することで、正確な数値の変換を実現しましょう。