JavaScript/parseFloat
表示
parseFloat()
は、文字列を解析して浮動小数点数を返すJavaScriptの組み込み関数です。この関数は、文字列が浮動小数点数として解釈可能な部分を数値として抽出し、それを返します。文字列の先頭から解析を開始し、数値部分が見つかった場合にその数値を返し、数値以外の部分が現れると、それ以降の文字は無視されます。
構文
[編集]parseFloat(string)
引数
[編集]string
解析対象の文字列です。string
は必ずしも文字列である必要はなく、任意の型の値を指定できます。非文字列型の値は自動的に文字列に変換されます。
例:
[編集]parseFloat("3.14"); // 3.14 parseFloat("10.5abc"); // 10.5 parseFloat("abc10.5"); // NaN
戻り値
[編集]parseFloat()
は、指定された文字列の最初に現れる浮動小数点数を解析し、その数値を返します。文字列の先頭に浮動小数点数が存在しない場合は NaN
(Not-a-Number)を返します。
- 数値が見つかった場合は、その数値を浮動小数点数として返します。
- 数値が見つからなかった場合(または解析できない場合)は、
NaN
を返します。
例:
[編集]parseFloat("123.45"); // 123.45 parseFloat("0.001"); // 0.001 parseFloat("10.5abc"); // 10.5 parseFloat("abc10"); // NaN
特徴
[編集]parseFloat()
は、文字列の最初の部分を解析し、浮動小数点数として解釈可能な部分だけを取り出します。文字列内に数値以外の文字が含まれていても、それらの文字は無視されます。ただし、数値部分が最初にない場合は NaN
が返されます。
- 空白は無視され、文字列の先頭に余分な空白があっても解析されます。
+
や-
の符号、指数表記(例:1e2
)もサポートされます。- 浮動小数点の精度に関しては、JavaScriptの内部表現に依存します。
例:
[編集]parseFloat(" 123.45 "); // 123.45 parseFloat(" -0.98 "); // -0.98 parseFloat("1e2"); // 100
parseFloat()
は、数値を解析できない場合に NaN
を返します。この場合、NaN
はJavaScriptの特別な値で、"Not-a-Number" を意味します。NaN
は数値と比較しても常に false
を返すため、特別な方法でその判定を行う必要があります。isNaN()
関数を使用して NaN
かどうかを確認できます。
例:
[編集]const result = parseFloat("abc"); console.log(result); // NaN console.log(isNaN(result)); // true
使用例
[編集]以下にいくつかのparseFloat()
の使用例を示します。
- 文字列から数値を抽出:
const value = parseFloat("100.25px"); console.log(value); // 100.25
- 整数の解析:
const integer = parseFloat("42"); console.log(integer); // 42
- 無効な文字列の解析:
const invalid = parseFloat("abc"); console.log(invalid); // NaN
関連メソッド
[編集]parseInt()
- 文字列を解析して整数を返す。parseFloat()
と似ていますが、整数部分だけを返します。Number()
- より厳密に文字列を数値に変換します。parseFloat()
よりも解析の幅が広いですが、数値でない文字列にはNaN
を返します。
まとめ
[編集]parseFloat()
は、文字列を浮動小数点数として解釈するために使用される関数であり、数値部分が最初に現れた場合にそれを抽出して返します。数値以外の部分は無視され、解析できない場合は NaN
を返します。この関数は、ユーザー入力などの数値を扱う際に非常に便利です。