parseFloat()

parseFloat() 関数は、引数を (必要に応じてまず文字列に変換してから) 解釈し、浮動小数点値を返します。

構文

parseFloat(string)

引数

string
解釈する値。この引数が文字列でない場合、抽象操作 ToString を用いて文字列に変換されます。この引数では先頭のホワイトスペースは無視されます。

返値

指定された string を解釈した浮動小数点値です。

または、最初のホワイトスペース以外の文字が数値に変換できなかった場合は NaN です。

解説

parseFloat は最上位関数であり、どのオブジェクトのメソッドでもありません。

  • parseFloat が正の符号 (+)、負の符号 (- U+002D HYPHEN-MINUS)、数値 (09)、小数点 (.)、指数記号 (e または E) 以外の文字に遭遇したら、その文字の前までの値を返し、無効な文字とそれ以降の文字を無視します。
  • 2番目の小数点に遭遇した場合も、解析を停止します (その位置より前までの文字は解析されます)。
  • 引数にある前後の空白は無視されます。
  • 引数の最初の文字が数値に変換できない場合 (上記のいずれでもない場合), parseFloatNaN を返します。
  • parseFloatInfinity を解析し、返すことができます。
  • parseFloatBigInt の構文を Numbers に変換し、精度は下がります。これは最後の n の文字が破棄されるからです。

より厳密な構文解析には Number(value) を検討してください。これは、引数のどこかに無効な文字があると NaN に変換します。

parseFloattoString または valueOf メソッドが定義されているオブジェクトを解析することもできます。返値は parseFloat がこれらのメソッドの返値で呼び出された場合と同じです。

数値を返す parseFloat

以下の例はすべて 3.14 を返します。

parseFloat(3.14);
parseFloat('3.14');
parseFloat('  3.14  ');
parseFloat('314e-2');
parseFloat('0.0314E+2');
parseFloat('3.14some non-digit characters');
parseFloat({ toString: function() { return "3.14" } });

NaN を返す parseFloat

以下の例は NaN を返します。

parseFloat('FF2');

parseFloatBigInt

以下の例はどちらも 900719925474099300 を返します。 float として表現できないほど整数が大きいので、精度が失われます。

parseFloat(900719925474099267n);
parseFloat('900719925474099267n');

仕様書

仕様書
ECMAScript (ECMA-262)
parseFloat の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
parseFloatChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1IE 完全対応 3Opera 完全対応 3Safari 完全対応 1WebView Android 完全対応 1Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 10.1Safari iOS 完全対応 1Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.1.100

凡例

完全対応  
完全対応

関連情報