プログラミングの用語一覧へ
このページの目次

型変換とは?

最終更新:2026/08/18

3秒でわかる

あるデータの値を別の型として扱い直すこと。入力欄の文字列を数値にするなど、外から来た値を計算に使う前に必ず通る処理です。

もう少し詳しく

どういうものか

型変換は、ある型の値を別の型の値として扱い直すことです。文字列 "42" を整数 42 にする、小数 3.9 を整数 3 にする、といった操作がこれにあたります。書き手が明示的に関数を呼ぶ変換をキャストや明示的型変換、言語が勝手に行う変換を暗黙的型変換と呼びます。

なぜ必要か

プログラムの外から入ってくる値は、ほぼ例外なく文字列です。フォームの入力、コマンドライン引数、CSV の1行、環境変数、いずれも中身が数字に見えても型は文字列です。文字列のまま足し算をすると、多くの言語では連結になったり、そもそもエラーになったりします。外部の値を内部の計算に持ち込む境目で、必ず型変換が要ります。

具体例

age_text = input("年齢を入力 ") # 常に文字列 age = int(age_text) # 明示的に整数へ print(age + 1) print(int("42")) # 42 print(float("3.14")) # 3.14 print(str(42) + "歳") # "42歳" print(int(3.9)) # 3 切り捨てであって四捨五入ではない print(int("42abc")) # ValueError で落ちる
// JavaScriptは暗黙変換が強く働く console.log("5" + 3); // "53" +は連結を優先 console.log("5" - 3); // 2 -は数値に寄せる console.log(Number("5")); // 5 明示的に変換するのが安全 console.log(Number("")); // 0 空文字が0になる console.log(parseInt("12px", 10)); // 12 途中まで読む

つまずきやすいところ

Python では、変換できない文字列を渡すと ValueError で処理が止まります。ユーザー入力を扱うなら try で受けるか、str.isdigit() で事前に確かめます。全角の「42」は int() が受け付けますが isdigit() の判定と食い違うことがあるため、入力の正規化を先に行うのが確実です。

JavaScript では逆に、変換に失敗しても例外にならず NaN が返ります。NaN は何と計算しても NaN のまま伝播し、しかも NaN === NaN は false なので、比較で見つけようとすると失敗します。Number.isNaN(value) を使います。空文字が 0 に化けるのも見落としやすく、未入力を 0 円として計算してしまう不具合につながります。

小数から整数への変換が切り捨てである点も共通の罠です。金額の計算で int(price * 1.1) と書くと1円足りなくなります。丸めたいなら round() を使い分けます。

似た用語との違い

内容
明示的型変換int()Number() のように、書き手が呼んで変換する
暗黙的型変換演算子の都合で言語が自動的に変換する。事故の元になりやすい
型推論変換ではなく、書かなかった型をコンパイラが決めること

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地型変換プログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

Python入門:基礎文法編

74レッスン
コース

JavaScript入門:コードを動かす

23レッスン
コース

Java入門:基礎文法編

69レッスン
Pythonコースの全編を見る