C#の数値型をマスターしよう!int・double・decimalの違いと使い方
生徒
「C#で数字を扱いたいんですが、intとかdoubleとかdecimalって何が違うんですか?」
先生
「とても重要なポイントですね。C#では数値を扱うときに、用途によっていくつかの種類が用意されています。それぞれに特徴があるので、しっかり理解しておきましょう。」
生徒
「初心者にもわかるように、具体的な例を交えて教えてください!」
先生
「もちろんです!では、C#の数値型の基本から順番に学んでいきましょう。」
1. C#の数値型とは?
プログラミングでは、数字を扱う場面がとても多くあります。C#(シーシャープ)には、「数値型(すうちがた)」と呼ばれる、数字を保存・計算するためのデータ型が用意されています。
数値型にはいくつかの種類がありますが、初心者の方がまず覚えておきたいのは次の3つです。
- int(整数型):小数点のない数字
- double(倍精度浮動小数点型):小数点を含む数字
- decimal(高精度小数型):お金などの正確な計算が必要なときに使う
2. int型(整数を扱う数値型)
int
は「整数(しょうすう)」を扱うための数値型です。整数とは、小数点がない数字のことです。たとえば「10」や「-5」「0」などが該当します。
日常生活でいうと、「りんごが3個あります」のようなときに使います。
書き方の例を見てみましょう。
int number = 5;
Console.WriteLine(number);
5
注意:int型では、小数点を含む数字(たとえば「3.14」)は使えません。
3. double型(小数を扱える数値型)
double
は、小数点を含む数字を扱いたいときに使います。たとえば「3.14」や「0.5」などの数値です。
ジュースの容量「1.5リットル」のように、小数が必要な場面で役立ちます。
double pi = 3.14;
Console.WriteLine(pi);
3.14
double
は浮動小数点型(ふどうしょうすうてんがた)と呼ばれます。これは、計算のスピードは速いけれど、非常に小さい誤差が出ることがあります。
4. decimal型(お金の計算に向いている数値型)
decimal
は、お金のように「ぴったりした計算」が必要なときに使います。
たとえば、スーパーで「りんごが1個120.50円」のような金額を計算する場面では、少しの誤差も許されません。そのようなときにdecimal
を使います。
decimal price = 120.50m;
Console.WriteLine(price);
120.50
ポイント:decimal型の数字を書くときは、必ず最後に「m
」をつけましょう。これは、「この数字はdecimal型ですよ」とC#に伝えるためです。
5. int・double・decimalの違いをまとめて比較
ここまで学んできた3つの数値型の違いを、簡単に比較してみましょう。
型の名前 | 小数点 | 使う場面 | 精度 |
---|---|---|---|
int | なし | 人数、回数、年齢など | 高い(整数) |
double | あり | 長さ、重さ、割合など | 中くらい(誤差あり) |
decimal | あり | 金額、税率、精密計算 | とても高い(誤差なし) |
6. 実際に使い分けてみよう!
それでは、int・double・decimalを使って、実際にどんなふうに使い分けるのか見てみましょう。
次の例では、商品の価格を計算しています。
int quantity = 3;
decimal unitPrice = 150.75m;
decimal total = quantity * unitPrice;
Console.WriteLine("合計金額: " + total + "円");
合計金額: 452.25円
quantity
は個数なのでint、unitPrice
とtotal
は金額なのでdecimalを使っています。
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」になります。