- Home ›
- JavaScript入門 ›
- グローバル関数 ›
- HERE
parseFloat関数
広告
文字列を数値に変換するにはparseFloat関数を使います。
parseFloat(str)
文字列を数値に変換します。 パラメータ: str 対象の文字列 戻り値: 変換された数値。対象の文字列を数値に変換できない場合はNaN
引数に指定された文字列を数値に変換します。文字列は先頭の文字から順に調べていき、数値でない文字が現れる直前までの文字列を数値に変換します。数値と判断される文字は先頭の「+」又は「-」及び数字、小数点を表すドット(.)や指数表現の時に使用する「e」などです。
parseFloat("10") --> 10 parseFloat("2008year") --> 2008 parseFloat("-77point") --> -77 parseFloat("18.26B") --> 18.26 parseFloat("2.4e-3") --> 0.0024
文字列の先頭の文字が数値でない文字だった場合にはNaNを返します。
parseFloat("Book170") --> NaN
perseInt関数では16進数の形式である「0x2F」なども整数と識別されましたが、parseFloat関数ではAからFのアルファベットは数値を表す文字とは認識されません。(指数形式の時に使用するe及びEを除く)。文字列の先頭が「0x」で始まっている場合は単に0と識別されます。
parseFloat("0x3F") --> 0 parseFloat("4F") --> 4
最後に空文字はNaNを返します。
parseFloat("") --> NaN
サンプルコード
では簡単なサンプルで試してみます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>JavaScript テスト</title> </head> <body> <script type="text/javascript" src="./js/script2_1.js"> </script> </body> </html>
function print(str){ document.write(str + "<br />"); } document.write("<p>"); print("parseFloat('10') = " + parseFloat("10")); print("parseFloat('-2008year') = " + parseFloat("-2008year")); print("parseFloat('0x3F') = " + parseFloat("0x3F")); print("parseFloat('4F') = " + parseFloat("4F")); print("parseFloat('18.26B') = " + parseFloat("18.26B")); print("parseFloat('2.4e-3') = " + parseFloat("2.4e-3")); print("parseFloat('2.4ea') = " + parseFloat("2.4ea")); print("parseFloat('Book170') = " + parseFloat("Book170")); print("parseFloat('') = " + parseFloat("")); document.write("</p>");
上記を実際にブラウザ見てみると次のように表示されます。
( Written by Tatsuo Ikura )