数値型
int、double、decimalなどを学びます。
「数値型」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全4レッスンが含まれています。
数値型が重要な理由
C# には複数の数値型があり、それぞれ格納できる値の範囲と使用するメモリ量が異なります。
適切な型を選ぶことで、プログラムを正確かつ効率的に保てます。ユーザー数のような整数は int に収まりますが、価格には小数が必要です。
このレッスンでは、整数型、浮動小数点型、decimal 型について学びます。
整数型
整数は、小数部分を持たない数値を格納します。
int— 32 ビットで、日常的に使う標準的な型long— 64 ビットで、非常に大きな数を扱う型shortとbyte— より小さい範囲を扱う型
値が約 20 億を超える可能性がない限り、int を使用します。
int age = 30;
long population = 8000000000;
Console.WriteLine(age);
Console.WriteLine(population);整数型の範囲
各整数型には、固定された最小値と最大値があります。int.MaxValue などの定数で確認できます。
最大値を超えるとオーバーフローが発生し、値が気付かないうちに循環します。
Console.WriteLine(int.MinValue);
Console.WriteLine(int.MaxValue);
Console.WriteLine(long.MaxValue);浮動小数点型: double
double は、小数を含む実数を扱う 64 ビットの浮動小数点型です。
小数リテラルのデフォルト型なので、3.14 は double です。高速で科学計算やグラフィックスに適していますが、値は近似的に格納されます。
double pi = 3.14159;
double half = 1.0 / 2.0;
Console.WriteLine(pi);
Console.WriteLine(half);浮動小数点型: float
float は 32 ビットの浮動小数点型です。double の半分のメモリしか使用しませんが、保持できる桁数は少なくなります。
float リテラルには 2.5f のように f サフィックスが必要です。そうしないと、C# はその数値を double として扱います。
float temperature = 21.5f;
float ratio = 0.1f;
Console.WriteLine(temperature);
Console.WriteLine(ratio);正確な金額: decimal
decimal は金額や正確な小数を扱うために設計された 128 ビット型です。double で発生する小さな丸め誤差を避けられます。
decimal リテラルには、9.99m のように m サフィックスを付けます。価格、銀行業務、会計処理にはこれを使用します。
decimal price = 9.99m;
decimal tax = 0.08m;
Console.WriteLine(price + price * tax);double と decimal の比較
double では予想外の結果になることがある一方、decimal では正確な値が保たれることを確認してください。
そのため、double より低速であっても、金融関連のコードでは decimal が好まれます。
double d = 0.1 + 0.2;
decimal m = 0.1m + 0.2m;
Console.WriteLine(d);
Console.WriteLine(m);var による型推論
var キーワードを使うと、コンパイラーが右辺の値から型を推論します。
変数の型が固定されることに変わりはありません。var count = 5; では int になります。小数リテラルでは、サフィックスによって型が決まります。
var count = 5;
var pi = 3.14;
var price = 9.99m;
Console.WriteLine(count.GetType());
Console.WriteLine(price.GetType());桁区切り文字
読みやすくするため、数値リテラルの桁と桁の間にはアンダースコアを置けます。アンダースコアはコンパイラーによって無視されます。
これにより、大きな数値もひと目で簡単に読み取れるようになります。
int million = 1_000_000;
long distance = 9_460_730_472_580_800;
Console.WriteLine(million);
Console.WriteLine(distance);double の特殊な値
double は、正および負の無限大と、NaN(非数)という特殊な値を表現できます。
double 同士のゼロ除算ではエラーではなく無限大になりますが、整数のゼロ除算では例外がスローされます。
double inf = 1.0 / 0.0;
double nan = 0.0 / 0.0;
Console.WriteLine(inf);
Console.WriteLine(nan);適切な型を選ぶ
簡単な指針は次のとおりです。
- 整数 →
int(非常に大きい場合はlong) - 科学計算や一般的な小数 →
double - 金額や正確な値 →
decimal
適切に選ぶことで、オーバーフローのバグや丸め誤差を防げます。
クイックチェック
数値型についての理解度を確認します。
まとめ
C# の基本的な数値型について学びました。整数には int と long、浮動小数点には double と float、正確な金額には decimal を使用します。
リテラルのサフィックスを覚えておきましょう。f は float、m は decimal を表し、アンダースコアは読みやすさのために使用します。範囲、精度、メモリ使用量のバランスを考えて型を選びます。
よくある質問
「数値型」レッスンは無料ですか?
はい。「数値型」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C# Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C# Academyコースには全4レッスンが含まれています。
「数値型」で何を学びますか?
int、double、decimalなどを学びます。 ブラウザで直接実行するハンズオンコードでC# Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
C# Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのC# Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「数値型」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このC# Academyレッスンでコードを書いて実行できますか?
はい。すべてのC# Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。