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
注意点
parseFloat
もparseInt
と同様に、先頭から数値として解釈できる部分のみを変換します。
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
: より厳密な変換が可能+
: 簡易的な変換に便利