C# での 変数の型の続きの説明
計算中の数値
Console.WriteLine(3/2);
1
上記のコードは 1になります。 つまり「3 / 2 」の計算結果は整数になるように計算されるので 小数が切捨てられます。
正しい答えを出すために実数にするには 次ようにします。
Console.WriteLine(3.0/2.0);
Console.WriteLine(3.0 / 2);
Console.WriteLine(3 / 2.0);
1.5
1.5
1.5
数値どうしの計算では一番 表現範囲の広い数値で処理されます。
異なる表現範囲の型の代入
表現範囲の広い型に 狭い型を代入することは OKです。 その逆は NG。
int a = 5;
double b = a; // OK
double a = 5.5;
int b = a; // NG(エラー)
キャスト演算子
「(int)」のように、型名を( )でくくったものを「キャスト演算子」といいます。数値どうしなど互換性がある場合、これを変数に前に書くと、指定した型に変換できます。
double a = 5.5;
int b = (int)a; // OK
上記では double型の変数 a を int 型に 型キャストしてから int型の bに 代入しています。 b は 小数が切り取られた 5 の 値が代入されます。
Console.WriteLine((double)3/2);
1.5
直接データを指定する時も 型キャストすることができます。
コメント