カテゴリ: JavaScript 更新日: 2026/02/03

JavaScriptのparseInt・parseFloatの使い方と数値への変換テクニック

JavaScriptのparseInt・parseFloatの使い方と数値への変換テクニック
JavaScriptのparseInt・parseFloatの使い方と数値への変換テクニック

先生と生徒の会話形式で理解しよう

生徒

「先生、JavaScriptで文字で書かれた数字を計算に使いたいんですが、うまくできません。どうしたらいいですか?」

先生

「それはparseIntparseFloatという関数を使うと簡単にできますよ。文字列を数字に変換するテクニックです。」

生徒

「parseIntやparseFloatって何ですか?どう使うんですか?」

先生

「それでは、基本からわかりやすく説明していきますね!」

1. parseInt・parseFloatとは?

1. parseInt・parseFloatとは?
1. parseInt・parseFloatとは?

JavaScriptで文字(文字列)として書かれた数字を、実際に計算で使える「数値」に変える関数です。

parseIntは「整数(小数点なしの数字)」に変換し、parseFloatは「小数点を含む数字」に変換します。

2. parseIntの基本的な使い方

2. parseIntの基本的な使い方
2. parseIntの基本的な使い方

parseIntは文字列の中から、先頭の数字だけを読み取って整数に変換します。


console.log(parseInt("123"));     // 123(整数)
console.log(parseInt("123abc"));  // 123(数字だけ読み取る)
console.log(parseInt("abc123"));  // NaN(数字が先頭にないので変換できない)

文字列の先頭に数字があると、その部分だけ数字として取り出します。数字が先頭にない場合はNaN(Not a Numberの略で「数字じゃない」という意味)になります。

3. parseFloatの基本的な使い方

3. parseFloatの基本的な使い方
3. parseFloatの基本的な使い方

parseFloatは小数点も含めて数字を取り出します。たとえば小数の計算をしたい時に便利です。


console.log(parseFloat("3.14"));       // 3.14(小数点ありの数字)
console.log(parseFloat("3.14abc"));    // 3.14(数字だけ読み取る)
console.log(parseFloat("abc3.14"));    // NaN(先頭に数字がないので変換できない)

4. なぜparseIntやparseFloatを使うの?

4. なぜparseIntやparseFloatを使うの?
4. なぜparseIntやparseFloatを使うの?

ブラウザで入力フォームなどから受け取った値は「文字列」として扱われます。そのままだと計算ができません。

たとえば、"10""20"を足すと「1020」という文字のつながりになってしまいます。


console.log("10" + "20");   // "1020"(文字列の結合)

そこで、parseIntparseFloatで文字列を数字に変換すると、正しく足し算できます。


console.log(parseInt("10") + parseInt("20"));   // 30(数字の足し算)

5. parseIntの基数(進数)指定について

5. parseIntの基数(進数)指定について
5. parseIntの基数(進数)指定について

parseIntは、数字が何進法かを指定することができます。たとえば2進数(0と1だけの数字)や16進数(0〜9とA〜F)を扱う場合です。


console.log(parseInt("1010", 2));    // 10(2進数の1010は10進数の10)
console.log(parseInt("1A", 16));     // 26(16進数の1Aは10進数の26)

ただし、普段は省略しても10進数(普通の数字)として扱われます。

6. parseInt・parseFloatの注意点

6. parseInt・parseFloatの注意点
6. parseInt・parseFloatの注意点
  • 文字列の途中に数字以外の文字があっても、先頭から数字部分だけ読み取ります。
  • 数字が先頭にない文字列はNaNになります。NaNは計算に使えない特別な値です。
  • parseIntは小数点以下を切り捨てて整数にします。
  • parseFloatは小数点以下もそのまま数字にします。

7. 便利な数値変換テクニック

7. 便利な数値変換テクニック
7. 便利な数値変換テクニック

parseIntやparseFloatの他にも、数値変換の方法はいくつかあります。

  • Number()関数:文字列を数字に変換。小数も整数も変換可能。
  • プラス記号(+):文字列の前に付けると数字に変換する簡単な方法。

// Number関数の例
console.log(Number("123.45"));   // 123.45

// +を使った変換の例
console.log(+"123.45");          // 123.45

ただし、Number()+は文字列全体が数字でないとNaNになるので注意が必要です。


console.log(Number("123abc"));  // NaN
console.log(+"123abc");         // NaN

8. 実用的な使い方の例

8. 実用的な使い方の例
8. 実用的な使い方の例

ユーザーが入力した値を計算に使う場合は、parseIntparseFloatで変換してから計算すると安全です。


let input = "50.5";             // ユーザーの入力(文字列)
let price = parseFloat(input);  // 小数に変換
let quantity = 3;
let total = price * quantity;   // 正しい計算になる
console.log(total);             // 151.5

まとめ

まとめ
まとめ

JavaScriptにおける数値変換の世界は、一見するとシンプルですが、深く知るほどにその奥深さと重要性がわかってきます。今回の学習を通じて、文字列として扱われている数字を適切に「数値データ」へと変換することの大切さを理解できたのではないでしょうか。ウェブ開発の現場では、ユーザーがテキストボックスに入力した値や、外部のデータベースから取得した情報は、その多くが「文字列」としてプログラムに渡されます。これらをそのまま算術演算子で計算しようとすると、意図しない挙動やバグの原因となるため、parseIntparseFloatといった変換関数の使いこなしは、JavaScriptエンジニアにとって必須のスキルと言えます。

各変換メソッドの使い分けと特性

今回学んだ各メソッドには、それぞれ得意分野と注意すべき特性があります。これらを適切に使い分けることで、より堅牢でバグの少ないコードを書くことが可能になります。

  • parseInt関数の役割: 文字列から整数部分を抽出することに特化しています。特に、単位が含まれる文字列(例:「100px」や「20kg」)から数値だけを取り出したい場合に非常に強力です。また、第二引数に基数(2進数、10進数、16進数など)を指定できる点は、他の変換方法にはない大きな特徴です。
  • parseFloat関数の役割: 小数点を含む値を正確に扱いたい場合に必須となります。金額計算や科学計算、GPSの座標データなど、精度が求められる場面で活躍します。整数もそのまま数値として扱えるため、汎用性が高いのも魅力です。
  • Number関数と単項プラス(+)演算子: これらは「厳格な変換」に向いています。文字列全体が純粋な数字のみで構成されている場合に、最も高速かつ直感的に記述できます。ただし、一文字でも数字以外の文字が混じると即座にNaNを返すため、入力データの品質が保証されている場合に使用するのがベストです。

実践的なサンプルプログラム

それでは、学んだ知識を定着させるために、より実践的なコードを書いてみましょう。例えば、ショッピングサイトのカート機能で、商品の単価(文字列)と個数(数値)を掛け合わせ、消費税を加味した合計金額を算出する処理を考えてみます。ここでは、文字列に単位が含まれていても正しく計算できるように工夫しています。


// ユーザーが入力した商品単価(文字列、単位付き)
const inputPrice = "2980円";
// 購入個数(数値)
const quantity = 3;
// 消費税率
const taxRate = 1.1;

// parseIntを使って「円」を除去し、数値に変換
const priceValue = parseInt(inputPrice, 10);

if (!isNaN(priceValue)) {
    // 合計金額を計算(単価 × 個数 × 消費税)
    const total = priceValue * quantity * taxRate;
    
    // 小数点以下を切り捨てて表示
    console.log("合計金額(税込): " + Math.floor(total) + "円");
} else {
    console.log("価格の入力が正しくありません。");
}

上記のコードを実行すると、コンソールには次のような結果が表示されます。


合計金額(税込): 9834円

このように、parseIntを使用することで「2980円」という文字列から「2980」という数値だけを取り出し、正常に計算を行うことができます。これがNumber("2980円")であれば、結果はNaNとなり計算に失敗してしまいます。場面に応じた関数の選択がいかに重要かがわかりますね。

型変換をマスターするためのヒント

プログラミングにおいて、データの「型」を意識することは、初心者から中級者へステップアップするための大きな壁の一つです。JavaScriptは型に対して比較的自由な言語ですが、その自由さが逆に予期せぬエラーを招くこともあります。

数値を扱う際は、常に「このデータは今、文字列なのか数値なのか」を自問自答する癖をつけましょう。特にデバッグの際は、console.log(typeof 変数名)を使って、データの型をチェックする手法も非常に有効です。また、変換に失敗した際に返ってくるNaN(非数)の存在を忘れず、isNaN()関数などでチェックを行うことで、プログラムの信頼性は飛躍的に向上します。

今日学んだテクニックは、フォームバリデーション、グラフの描画、ゲーム開発など、あらゆるJavaScriptのプロジェクトで応用可能です。ぜひ、自分の書くコードの中で積極的に取り入れ、手に馴染ませていってください。

先生と生徒の振り返り会話

生徒

先生、ありがとうございました!parseIntparseFloatの違い、そしてNumber()関数との使い分けがすごくよくわかりました。今まで入力フォームの数字が文字として繋がっちゃって困っていたんですが、これで解決できそうです。

先生

それは良かったです!特に、文字列の途中に文字が入っていても、先頭から数字を拾ってくれるparseIntの挙動は便利でしょう?でも、実はそこに落とし穴もあるんです。例えば「100名様」なら「100」になりますが、「第1会議室」だと最初の「第」のせいでNaNになってしまいます。

生徒

あ、本当ですね。先頭が数字じゃないとダメなんですね。さっきのサンプルコードでisNaN()を使ってチェックしていたのは、そういう理由だったんですね。

先生

その通りです。安全なプログラムを書くためには、変換した後に「本当に数値になったかな?」と疑ってみることが大切です。あと、基数の「10」を指定する癖をつけておくと、将来的に古いブラウザに対応する場合や、意図しない進数誤認を防ぐことができるのでおすすめですよ。

生徒

なるほど、parseInt("10", 10)みたいに書く習慣ですね。小数のときはparseFloatを使えば、消費税の計算みたいな細かい数字もバッチリ扱えますし、JavaScriptでの計算がぐっと楽しくなりそうです!

先生

素晴らしい意気込みですね。型変換をマスターすれば、データの加工が自由自在になります。次は、変換した数値を特定の桁数で四捨五入したり、通貨形式に整えたりする方法も学んでいきましょう。

生徒

はい!もっと色々なテクニックを覚えて、実用的なアプリを作れるようになりたいです。先生、これからもよろしくお願いします!

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptでパスエイリアスを設定する方法!baseUrlとpathsでコードをスッキリ整理
New2
JavaScript
JavaScriptのfor文の書き方を初心者向けにやさしく解説
New3
JavaScript
JavaScriptの関数でよくあるエラーとその解決法まとめ
New4
JavaScript
JavaScriptのイベント処理でよくあるエラーとその対処法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのマウスイベントの使い方(click, mouseoverなど)
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptのtoStringとString関数の違いを初心者向けに解説
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの純粋関数(pure function)と副作用の違いを理解しよう
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptで文字列をforループで1文字ずつ処理する方法!初心者向け解説
No.7
Java&Spring記事人気No7
TypeScript
TypeScript学習におすすめの無料教材・リファレンスサイト【初心者向け】
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptのDOMContentLoadedとloadイベントの違いを理解しよう