C# の自動除算の切り捨て: 理解と回避
C# で除算を実行すると、結果の予期しない切り捨てが発生する可能性があります。この動作は、結果を最も近い整数に切り捨てる整数除算の性質に起因しています。
これを説明するために、次の例を考えてみましょう。
double i; i = 200 / 3; Messagebox.Show(i.ToString());
このコードはメッセージ ボックスを表示します。値「66」は、200 / 3 が 66 に切り捨てられたことを示します。ただし、200 / 3 の実際の値は約66.6666667.
この切り捨てを回避するには、除算を実行する前にオペランドを倍精度浮動小数点数に明示的に変換する必要があります。これはいくつかの方法で実現できます:
i = (double)200 / 3;
i = 200.0 / 3;
i = 200d / 3;
のいずれかこれらのアプローチにより、結果の小数部分が保持されたまま、二重除算が確実に実行されます。したがって、整数の除算を使用することの意味を理解し、分数が関係する場合には適切なキャスト手法を採用することが重要です。
以上がC# の整数の除算で切り捨てが発生するのはなぜですか?また、それを防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。