導入
数値には「整数」と「小数」があり、用途によって使う型が変わります。特にお金の計算では型の選択がバグに直結するため、代表的な3つを押さえます。
図解
flowchart TB
N["数値型"] --> I["int<br/>整数<br/>例: 20, -5, 1000"]
N --> D["double<br/>小数(高速・誤差あり)<br/>例: 3.14, 円周率・座標"]
N --> M["decimal<br/>小数(正確・お金向き)<br/>例: 1980.00m, 金額"]
style M fill:#e8f5e9
サンプル
int count = 5; // 整数
double ratio = 0.1; // 小数(浮動小数点)
decimal price = 1980.00m; // 小数(お金用)。末尾に m を付ける
Console.WriteLine(count); // 5
Console.WriteLine(ratio); // 0.1
Console.WriteLine(price); // 1980.00
// double は誤差が出ることがある
Console.WriteLine(0.1 + 0.2); // 0.30000000000000004
// decimal は正確
Console.WriteLine(0.1m + 0.2m); // 0.3
intは整数専用。小数は入らないdoubleは高速だが2進小数のため0.1 + 0.2のような誤差が出るdecimalは正確。お金の計算は必ずdecimal。値の末尾にmを付ける
演習
// TODO: decimal型の変数 total に 3980.00m を入れて出力してください
___
- 期待される出力:
3980.00
ヒント1を見る
末尾のmを忘れないでください
ヒント2を見る
decimal total = 3980.00m; Console.WriteLine(total);
まとめ
- 整数は
int、小数はdouble、お金はdecimal doubleは誤差が出る、decimalは正確decimalリテラルは末尾にmを付ける
次回: intの仲間である整数型と、桁あふれ(オーバーフロー)を学びます。