parseFloat()

引数の文字列を解析し、浮動小数点数を返します。

文法

parseFloat(string)
引数 説明
string 解析したい値を表す文字列を指定します。

parseFloatは最上位の階層に位置する関数で、どのオブジェクトとも関連性がありません。

parseFloatはその引数である文字列を解析し、浮動小数点数を返します。 もし、記号(+ または -)、数(0-9)、小数点、指数、これら以外の文字が見つかった場合、 その位置までの値を返し、その文字とそれに続く文字は無視されます。 ただし、先頭と末尾の空白は自動的に取り除かれて解析されます。

1つ目の文字が数値へ変換出来ない場合は、parseFloatはNaNを返します。

算術的な理由から、NaN値はいずれの基数でも数値とみなされません。 isNaN関数を使用して、 parseFloatの結果がNaNであるかを調べることが可能です。 もし、NaNが算術演算子に渡された場合、その演算子の結果もNaNになります。

parseFloatはInfinityの値を解析して返すことも可能です。 isFinite関数を使用して、 結果が有限数(Infinity、-Infinity、NaNのどれでも無い)であるかを調べることが可能です。

説明

数値を返すparseFloatの例

下記の例は全て、3.14を返します。

parseFloat("3.14");
parseFloat("314e-2");
parseFloat("0.0314E+2");
parseFloat("3.14more non-digit characters");

NaNを返すparseFloatの例

下記の例は、NaNを返します。

parseFloat("FF2");

より厳格な解析用関数

より厳格な方法で、浮動小数点数の値を解析することが求められるケースがあります。 正規表現の使用がこの助けとなってくれます。

var filterFloat = function (value) {
    if(/^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/
      .test(value))
      return Number(value);
  return NaN;
}

console.log(filterFloat('421'));               // 421
console.log(filterFloat('-421'));              // -421
console.log(filterFloat('+421'));              // 421
console.log(filterFloat('Infinity'));          // Infinity
console.log(filterFloat('1.61803398875'));     // 1.61803398875
console.log(filterFloat('421e+0'));            // NaN
console.log(filterFloat('421hop'));            // NaN
console.log(filterFloat('hop1.61803398875'));  // NaN

このコードはあくまで一例でしかない事に注意してください。 1..5のような有効な数値を受け入れません。

仕様

ブラウザ互換性

デスクトップ
機能 Chrome Firefox
(Gecko)
IE Opera Safari
基本
モバイル
機能 Android Chrome for
Android
Firefox
Mobile
IE
Mobile
Opera
Mobile
Safari
Mobile
基本

関連項目

 Back to top

© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
  • 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
  • MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。