JavaScriptでのHackerrankの問題「day 16 exceptions - string to integer」の解決方法


まず、JavaScriptで文字列を整数に変換する方法を見てみましょう。JavaScriptには、組み込みの関数parseInt()を使用することで、文字列を整数に変換する方法があります。以下は、この関数の使用例です。

let str = "42";
let num = parseInt(str);
console.log(num); // 結果: 42

上記のコードでは、文字列"42"をparseInt()関数で整数に変換しています。変換結果の整数は、変数numに代入され、コンソールに出力されます。

しかし、注意点として、parseInt()関数は文字列の先頭から整数を解析し、整数以外の文字に遭遇すると解析を停止します。例えば、以下のコードを見てみましょう。

let str = "42abc";
let num = parseInt(str);
console.log(num); // 結果: 42

この場合、文字列"42abc"の先頭の整数部分"42"が解析され、整数に変換されます。文字列の後ろにある"abc"は無視されます。

さて、例外処理について考えましょう。文字列が整数に変換できない場合、parseInt()関数はNaN(Not a Number)を返します。このとき、例外をキャッチして適切な処理を行う必要があります。

以下は、例外処理を含んだparseInt()の使用例です。

let str = "abc";
let num = parseInt(str);
if (isNaN(num)) {
  console.log("文字列を整数に変換できませんでした。");
} else {
  console.log(num);
}

上記のコードでは、文字列"abc"をparseInt()関数で整数に変換しています。変換結果がNaNである場合、例外が発生したと判断して適切なメッセージを表示します。