本文へスキップ
BecomeCoder

C#文法コース · 第1章 基礎文法とデータ型 · レッスン12

型変換(キャスト・Parse・TryParse)

ブラウザで完結

導入

キーボード入力やAPIの値は多くが文字列で届きます。それを計算するには数値へ型変換する必要があります。代表的な変換方法を押さえます。

図解

flowchart LR
    S["文字列 "42""] -->|int.Parse| I["整数 42"]
    I -->|計算できる| C["42 + 8 = 50"]
    S2["文字列 "abc""] -->|int.TryParse| F["失敗を安全に検知"]
    style F fill:#fff3e0

サンプル

// 文字列 → 数値
string input = "42";
int number = int.Parse(input);      // "42" → 42
Console.WriteLine(number + 8);      // 50

// 数値 → 文字列
int score = 95;
string text = score.ToString();     // 95 → "95"
Console.WriteLine(text + "点");      // 95点

// 変換に失敗しうるときは TryParse が安全
string userInput = "abc";
if (int.TryParse(userInput, out int result))
    Console.WriteLine($"数値です: {result}");
else
    Console.WriteLine("数値ではありません");   // こちらが出力される
  • int.Parse(文字列): 文字列を整数に変換。ただし変換できないと例外で落ちる
  • .ToString(): どんな値も文字列にできる
  • int.TryParse(文字列, out 変数): 失敗しても落ちず、成否をboolで返す安全な変換

演習

string priceText = "1500";

// TODO: priceText を int に変換し、8%の消費税を足した金額を "1620円" の形式で出力してください
//       (1500 * 1.08 = 1620)
___
  • 期待される出力: 1620円
ヒント1を見る

int.Parseで数値化してから計算します。1.08を掛けると小数になるのでintに注意

ヒント2を見る

int price = int.Parse(priceText); Console.WriteLine($"{price * 108 / 100}円");

まとめ

  • 文字列→数値はint.Parse、数値→文字列は.ToString()
  • 失敗しうる変換はint.TryParse(..., out ...)で安全に
  • 外部から来る値の変換はTryParseが実務の基本

次回: 変更しない値「定数」とコメント、そしてvarを学びます。

実際に動かしてみよう

本文のサンプルや演習のコードは、コードブロック右上の「コピー」ボタンでコピーして、下のエディタに貼り付ければそのまま実行できます。

C# — ブラウザ内で実行

ブラウザ内でC#を動かす環境を読み込みます(初回のみ数秒)。
スクロールして表示された時点でも自動で読み込まれます。