カテゴリ: C# 更新日: 2025/11/10

C#の数値型をマスターしよう!int・double・decimalの違いと使い方

C#の数値型をマスターしよう!int・double・decimalの違いと使い方
C#の数値型をマスターしよう!int・double・decimalの違いと使い方

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

生徒

「C#で数字を扱いたいんですが、intとかdoubleとかdecimalって何が違うんですか?」

先生

「とても重要なポイントですね。C#では数値を扱うときに、用途によっていくつかの種類が用意されています。それぞれに特徴があるので、しっかり理解しておきましょう。」

生徒

「初心者にもわかるように、具体的な例を交えて教えてください!」

先生

「もちろんです!では、C#の数値型の基本から順番に学んでいきましょう。」

1. C#の数値型とは?

1. C#の数値型とは?
1. C#の数値型とは?

プログラミングでは、数字を扱う場面がとても多くあります。C#(シーシャープ)には、「数値型(すうちがた)」と呼ばれる、数字を保存・計算するためのデータ型が用意されています。

数値型にはいくつかの種類がありますが、初心者の方がまず覚えておきたいのは次の3つです。

  • int(整数型):小数点のない数字
  • double(倍精度浮動小数点型):小数点を含む数字
  • decimal(高精度小数型):お金などの正確な計算が必要なときに使う

2. int型(整数を扱う数値型)

2. int型(整数を扱う数値型)
2. int型(整数を扱う数値型)

intは「整数(しょうすう)」を扱うための数値型です。整数とは、小数点がない数字のことです。たとえば「10」や「-5」「0」などが該当します。

日常生活でいうと、「りんごが3個あります」のようなときに使います。

書き方の例を見てみましょう。


int number = 5;
Console.WriteLine(number);

5

注意:int型では、小数点を含む数字(たとえば「3.14」)は使えません。

3. double型(小数を扱える数値型)

3. double型(小数を扱える数値型)
3. double型(小数を扱える数値型)

doubleは、小数点を含む数字を扱いたいときに使います。たとえば「3.14」や「0.5」などの数値です。

ジュースの容量「1.5リットル」のように、小数が必要な場面で役立ちます。


double pi = 3.14;
Console.WriteLine(pi);

3.14

doubleは浮動小数点型(ふどうしょうすうてんがた)と呼ばれます。これは、計算のスピードは速いけれど、非常に小さい誤差が出ることがあります。

4. decimal型(お金の計算に向いている数値型)

4. decimal型(お金の計算に向いている数値型)
4. decimal型(お金の計算に向いている数値型)

decimalは、お金のように「ぴったりした計算」が必要なときに使います。

たとえば、スーパーで「りんごが1個120.50円」のような金額を計算する場面では、少しの誤差も許されません。そのようなときにdecimalを使います。


decimal price = 120.50m;
Console.WriteLine(price);

120.50

ポイント:decimal型の数字を書くときは、必ず最後に「m」をつけましょう。これは、「この数字はdecimal型ですよ」とC#に伝えるためです。

5. int・double・decimalの違いをまとめて比較

5. int・double・decimalの違いをまとめて比較
5. int・double・decimalの違いをまとめて比較

ここまで学んできた3つの数値型の違いを、簡単に比較してみましょう。

型の名前 小数点 使う場面 精度
int なし 人数、回数、年齢など 高い(整数)
double あり 長さ、重さ、割合など 中くらい(誤差あり)
decimal あり 金額、税率、精密計算 とても高い(誤差なし)

6. 実際に使い分けてみよう!

6. 実際に使い分けてみよう!
6. 実際に使い分けてみよう!

それでは、int・double・decimalを使って、実際にどんなふうに使い分けるのか見てみましょう。

次の例では、商品の価格を計算しています。


int quantity = 3;
decimal unitPrice = 150.75m;
decimal total = quantity * unitPrice;
Console.WriteLine("合計金額: " + total + "円");

合計金額: 452.25円

quantityは個数なのでint、unitPricetotalは金額なのでdecimalを使っています。

7. 型の変換(キャスト)も知っておこう

7. 型の変換(キャスト)も知っておこう
7. 型の変換(キャスト)も知っておこう

intやdoubleなど異なる型を一緒に計算するときは、型の変換(キャスト)が必要になることがあります。


int x = 10;
double y = 3.5;
double result = x + y;
Console.WriteLine(result);

13.5

このように、intとdoubleを足すときには、自動的にdouble型になります。

逆に、自分で明示的に変換することを明示的キャストと呼びます。


double d = 9.99;
int i = (int)d;
Console.WriteLine(i);

9

この例では、小数点以下が切り捨てられて「9」になります。

まとめ

まとめ
まとめ

C#の数値型にはいくつかの種類があり、それぞれ用途に応じて適切に使い分けることが大切です。この記事では、intdoubledecimalの3つの基本的な数値型を取り上げ、それぞれの特徴や使い方、違いについて丁寧に解説しました。

int型は整数を扱うのに最適で、人や物の個数、年齢、回数などの「数えられるもの」に向いています。一方、double型は小数を含む数値を扱うため、重さや距離、温度、割合といった「連続的な量」を扱うときに便利です。ただし、わずかな誤差が生じる可能性があるため注意が必要です。

そしてdecimal型は、金額や税率など、誤差のない正確な計算が求められる場面で活躍します。特に会計や金融アプリケーションではdecimalが重宝される理由は、この精度の高さにあります。C#ではdecimal型の値を表す際に、mサフィックスを使うのがポイントでしたね。

また、異なる型を一緒に使う場合には「型の変換(キャスト)」が必要になることもあり、自動的に変換される暗黙的キャストと、自分で変換を指定する明示的キャストの違いも知っておくと、今後のプログラミングで役立ちます。

以下に、intdoubledecimalを組み合わせた実践的な例を紹介します。


// 商品の合計金額と税込金額を計算する例
int itemCount = 4;
decimal itemPrice = 298.50m;
decimal subtotal = itemCount * itemPrice;
decimal taxRate = 0.1m;
decimal tax = subtotal * taxRate;
decimal total = subtotal + tax;

Console.WriteLine("小計:" + subtotal + "円");
Console.WriteLine("消費税:" + tax + "円");
Console.WriteLine("合計金額:" + total + "円");

小計:1194.00円
消費税:119.40円
合計金額:1313.40円

このように、数値型を正しく使い分けることで、安全で信頼性の高い計算処理が可能になります。金額計算ではdecimalを使い、整数や割合の計算にはintdoubleを選択することで、バグや誤差の少ないコードを書くことができます。

プログラムの中で「どの型を使うべきか?」を意識することは、初学者にとって大切な思考です。用途ごとの適材適所を理解し、適切に型を選ぶ練習を重ねていきましょう。

C#では型が厳密に管理されているため、型の知識をしっかり身につけることが品質の高いプログラムへの第一歩です。今回学んだ内容を繰り返し使いながら、自然に身につけていけると良いですね。

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

生徒

「int、double、decimalって、最初は全部数字だから同じに見えたけど、ぜんぜん用途が違うんですね!」

先生

「その通りです。数字の種類に応じて適切な型を使うことで、無駄な誤差やバグを防ぐことができます。」

生徒

「金額にはdecimalを使う理由もよくわかりました。ちょっとの誤差でもお金だと大問題ですもんね。」

先生

「そうですね。今後は処理内容に応じて、どの型が一番ふさわしいかを考えて選べるようになりましょう。」

生徒

「次からは何となくintで済ませず、しっかり考えて使い分けてみます!」

カテゴリの一覧へ
新着記事
C#で複数ファイルをまとめて操作する方法(foreach・LINQ)をやさしく解説!
C#のインターフェースとは?クラス設計を柔軟にする基本技術
C#のコンストラクタの役割と使い方!オブジェクト初期化の基本
COBOLでデータベース接続を理解しよう!初心者でもわかる基本の考え方
人気記事
No.1
Java&Spring記事人気No1
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.3
Java&Spring記事人気No3
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.4
Java&Spring記事人気No4
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法