JavaScriptで文字列を浮動小数点数に変換する方法【parseFloat()の使い方と注意点】
JavaScriptには、文字列を浮動小数点数(小数)に変換するための組み込みメソッドとしてparseFloat()が用意されています。
同じように文字列を数値へ変換できるparseInt()というメソッドもありますが、こちらは整数のみを返すため、小数部分は切り捨てられてしまいます。小数を扱いたい場合はparseFloat()を使うのが適切です。
なお、parseFloat()に数値を表さない文字列を渡した場合、戻り値はNaN(Not a Number)になります。
構文
parseFloat(Value);
引数には数値を表す文字列を渡します。先頭から数値として解釈できる部分を読み取り、浮動小数点数として返します。
基本的な使用例
次の例では、parseFloat()は小数を含む値をそのまま返すのに対し、parseInt()は整数部分のみを返しています。
<html>
<body>
<script>
var a = parseFloat(" 100 ");
document.write(a + "</br>");
var b = parseFloat("120.65");
document.write(b + "</br>");
var c = parseInt("3.14");
document.write(c + "</br>");
</script>
</body>
</html>出力結果
100 120.65 3
この例から、parseFloat()は前後の空白を自動的に無視して「100」を返し、小数「120.65」も正確に変換できていることがわかります。一方、parseInt()は「3.14」を「3」として返しており、小数部が切り捨てられている点に注意しましょう。
文字列と数値が混在する場合の挙動
文字列の中に数値と文字が混在している場合、先頭が数値で始まっていれば、その後に続く文字列部分は切り捨てられ、数値部分だけが返されます。しかし、先頭が数値として解釈できない文字である場合は、NaNが返されます。
使用例
<html>
<body>
<script>
var a = parseFloat(" hello ");
document.write(a + "<br>");
var b = parseFloat("hello1234");
document.write(b + "<br>");
var c = parseFloat("3.14hello");
document.write(c + "<br>");
</script>
</body>
</html>出力結果
NaN NaN 3.14
「hello1234」のように末尾に数字があっても、先頭がアルファベットのためNaNになっています。逆に「3.14hello」は先頭が数値なので、「3.14」だけが有効な値として抽出されました。
まとめ
- 文字列を小数に変換したい場合はparseFloat()を使う
- 整数のみが必要ならparseInt()でも可
- 先頭から数値として解釈できない場合はNaNが返る
- 変換前に前後の空白は自動的に除去される
ユーザー入力など信頼性の低い文字列を変換する際は、isNaN()を使ってNaNチェックを行うと安全です。
-
文字列をJavaScriptオブジェクトに変換する方法【JSON.parse()の使い方】
JavaScriptでJSON形式の文字列をオブジェクトに変換するには、JSON.parse()メソッドを使用します。このメソッドは、引数に渡された文字列を解析(パース)し、対応するJavaScriptオブジェクトを返します。 サンプルコード <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Docum
-
C言語で浮動小数点数を文字列に変換する方法
この記事では、C言語において数値(整数・浮動小数点数など、あらゆる数値型データ)を文字列に変換する方法を解説します。考え方は非常にシンプルです。ここでは sprintf() 関数を使用します。sprintf() は、値や文字列をコンソールではなく「文字列」に対して出力するための関数です。これが printf() との唯一の違いです。第一引数には、変換結果を保存したい文字列バッファ(char型配列)を指定します。入力と出力のイメージ入力: ユーザーが数値(例: 42.26)を入力 出力: プログラムはその数値に対応する文字列 42.26 を返すアルゴリズムステップ1 − ユーザーから数値を受け取