Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
parseFloat() 関数は、文字列の引数を解釈し、浮動小数点値を返します。
解釈する値。この引数が文字列でない場合、抽象操作 ToString を用いて文字列に変換されます。この引数では先頭のホワイトスペースは無視されます。
指定された string を解釈した浮動小数点値です。または、最初のホワイトスペース以外の文字が数値に変換できなかった場合は NaN です。
メモ: JavaScript は、言語レベルでは「浮動小数点数」と「整数」の区別はありません。parseInt() と parseFloat() の違いは、構文解析の挙動だけですが、返値はその型になるとは限りません。例えば、parseInt("42") と parseFloat("42") は同じ値、つまり数値の 42 を返します。
parseFloat 関数は、最初の引数を文字列に変換し、その文字列を 10 進数のリテラルとして構文解析し、数値または NaN を返します。この関数が受け入れる数値の構文は、次のように要約できます。
構文に関しては、parseFloat() は Number() 関数が受け入れる構文のサブセットを構文解析します。 parseFloat() は、0x、0b、0o を接頭辞とする非 10 進リテラルは対応していませんが、それ以外はすべて対応しています。ただし、parseFloat() は、Number() よりも寛容です。これは、Number() では NaN を返す原因となる、末尾の不正な文字を無視するためです。
数値リテラルおよび Number() と同様に、parseFloat() から返される数値は、浮動小数点範囲および不正確さにより、文字列で表される数値と完全に等しくない場合があります。 -1.7976931348623158e+308 から 1.7976931348623158e+308 の範囲外の数値(Number.MAX_VALUE を参照)の場合は、 -Infinity または Infinity が返されます。
以下の例はすべて 3.14 を返します。
以下の例は NaN を返します。
ちなみに、文字列 NaN 自体は parseFloat() で受け入れられる構文ではないため、"NaN" を渡すと NaN が返されます。
数値が 64 ビットの IEEE 754-2019 書式化範囲外の場合、無限大値が返されます。
文字列が "Infinity" または "-Infinity" で始まる場合も、Infinity が返されます。
parseFloat() は BigInt 値を処理しません。n 文字で停止し、それ以前の文字列を通常の整数として処理します。精度が失われる可能性があります。BigInt 値が parseFloat() に渡されると、その値は文字列に変換され、その文字列は浮動小数点数として構文解析されます。この場合も、精度が失われる可能性があります。
代わりに、末尾の n 文字を削除した文字列を BigInt() 関数に渡してください。
| ECMAScript® 2027 Language Specification # sec-parsefloat-string |
ブラウザー互換性一覧表を表示するには、JavaScript を有効にしてください。
より良いインターネットのための青写真。
このコンテンツの一部は、©1998–2026 個人の mozilla.org 協力者です。コンテンツはクリエイティブ・コモンズ・ライセンスのもとで利用できます。