C# – 型の変換

C#

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

直接データを指定する時も 型キャストすることができます。

コメント

タイトルとURLをコピーしました