JavaScriptにおける文字列を数値に変換する方法

JavaScriptにおける文字列を数値に変換する方法

JavaScriptでは、文字列を数値に変換するための方法が複数存在します。それぞれの方法の特徴や注意点を理解することで、状況に応じて適切な方法を選択できます。以下に、主要な方法と具体的な例を詳しく解説します。

parseIntを使用する方法

parseInt()関数は、文字列を整数に変換します。文字列の先頭が数値として認識できる場合に有効です。

基本的な使用例

const value = "42";
const result = parseInt(value, 10);
console.log(result); // 42
    

基数を指定する

parseIntでは、第2引数で基数(進数)を指定できます。

const binaryValue = "1010";
const decimalResult = parseInt(binaryValue, 10); // 10進数として解釈
console.log(decimalResult); // 1010
const binaryResult = parseInt(binaryValue, 2); // 2進数として解釈
console.log(binaryResult); // 10
    

注意点

  • 文字列に数値以外の文字が含まれている場合、最初に数値として解釈できる部分だけが変換されます。
const value = "42px";
const result = parseInt(value, 10);
console.log(result); // 42
    

parseFloatを使用する方法

parseFloat()関数は、文字列を浮動小数点数に変換します。

基本的な使用例

const value = "3.14";
const result = parseFloat(value);
console.log(result); // 3.14
    

注意点

  • parseFloatparseIntと同様に、先頭から数値として解釈できる部分のみを変換します。
const value = "3.14abc";
const result = parseFloat(value);
console.log(result); // 3.14
    

Numberコンストラクターを使用する方法

Number()コンストラクターは、文字列を数値(整数または浮動小数点数)に変換します。

基本的な使用例

const value = "42";
const result = Number(value);
console.log(result); // 42
    
const value = "3.14";
const result = Number(value);
console.log(result); // 3.14
    

注意点

  • 文字列が完全に数値として解釈できない場合、NaN(Not-a-Number)を返します。
const value = "abc";
const result = Number(value);
console.log(result); // NaN
    

一元演算子を使用する方法

一元演算子(+)を使用して文字列を数値に変換することもできます。

基本的な使用例

const value = "42";
const result = +value;
console.log(result); // 42
    
const value = "3.14";
const result = +value;
console.log(result); // 3.14
    

注意点

  • Number()と同じく、数値として解釈できない場合はNaNを返します。

parseIntとparseFloatの違い

parseIntは整数に特化しており、parseFloatは浮動小数点数を含む文字列を変換できます。

比較例

const value = "42.99";
console.log(parseInt(value, 10)); // 42
console.log(parseFloat(value));  // 42.99
    

まとめ

JavaScriptでは、文字列を数値に変換するさまざまな方法が提供されています。それぞれの特性を理解し、用途に応じて使い分けることが重要です。

  • parseInt: 整数変換に適している
  • parseFloat: 小数点を含む数値に対応
  • Number: より厳密な変換が可能
  • +: 簡易的な変換に便利

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です