C#のキャストを「割り勘」で理解する

(初心者向け解説)

プログラミングを学び始めると必ず出てくるのが

キャスト(型変換)

です。

言葉だけ聞くと難しそうですが、実は日常の感覚で理解できます。

今回は 割り勘 を題材に説明してみます。


■ キャストとは何か(先に結論)

キャストとは

値の型(扱い方)を変更すること

C#では、型によって計算結果が変わります。

つまり

  • 何を計算するかではなく
  • どの型で計算するか

が結果を左右します。

ここを理解するのが重要です。


■ 割り勘で考える

3人で食事をして

合計 1000円 だったとします。

現実の計算

1000 ÷ 3 = 333.333…

これをC#で書くとどうなるでしょうか。


■ int同士で割る(キャストなし)

int total = 1000;
int people = 3;

int perPerson = total / people;

Console.WriteLine(perPerson);

結果

333

なぜ小数が出ないのか

理由は単純です。

int ÷ int → 結果も int

整数型同士の計算では

小数は切り捨てられます

コンピュータが間違っているわけではありません。

型のルールに忠実に従っているだけ

です。


■ 小数まで出したい場合(キャスト)

ここでキャストを使います。

int total = 1000;
int people = 3;

double perPerson = (double)total / people;

Console.WriteLine(perPerson);

結果

333.3333333333333


■ 何が起きているのか

この部分です

(double)total

意味:

total を double 型として扱って計算してください

つまり

整数の世界 → 小数の世界

へ移動させています。

これがキャストです。


■ 図で理解する


■ 逆方向のキャスト(現実の割り勘)

実際の支払いでは

333.333円

は払えません。

整数にする必要があります。

double value = 333.8;
int pay = (int)value;

Console.WriteLine(pay);

結果

333

小数部分が切り捨てられます。

これは

明示的キャスト(Explicit Cast)

と呼ばれます。

補足:

(double)total も明示的キャストです


■ キャスト理解の本質

初心者が誤解しがちな点があります。

コンピュータは

  • 自動的に最適な計算をする
  • 空気を読む

わけではありません。

重要なのはここです。

コンピュータは型に従って計算するだけ

キャストは

計算ルールをこちらが指定する行為

です。


■ 補足(実務寄り視点)

割り勘の例は実は重要な示唆を含みます。

実務では次を考える必要があります

  • 端数処理
  • 誰が多く払うか
  • UI表示
  • 会計ロジック
  • 税計算
  • 丸め規則

単なる型変換の理解が

そのまま業務ロジック設計につながります。

初学者段階でキャストを軽視しないことが重要です。


■ まとめ

キャストとは

値の型を変えることで

計算の世界を変えること

割り勘で言えば

  • int → 円単位の世界
  • double → 正確な計算の世界
  • intへ戻す → 支払可能な世界

プログラミングは数学ではなく

ルール設計

であることを実感できるテーマです。


訪問数 8 回, 今日の訪問数 8回

C#

Posted by hidepon