ホームページ > バックエンド開発 > C++ > C# が整数の除算を切り捨てるのはなぜですか?それを防ぐにはどうすればよいですか?

C# が整数の除算を切り捨てるのはなぜですか?それを防ぐにはどうすればよいですか?

DDD
リリース: 2025-01-05 18:18:40
オリジナル
984 人が閲覧しました

Why Does C# Round Down Integer Division, and How Can I Prevent It?

C# における小数の丸めについて

C# で除算を実行すると、結果が予期せず切り捨てられる場合があります。この動作は、次の例のように、整数を除算するデフォルトの演算である整数除算に由来します。

double i;
i = 200 / 3;
ログイン後にコピー

この場合、実際の除算結果は 66.66666~ であっても、結果は 66 になります。 。この切り捨てを回避するには、別の除算手法を使用できます。

1 つの方法は、オペランドの 1 つを double に明示的にキャストし、double 除算演算子を使用して強制的に除算を実行することです。

i = (double)200 / 3;
ログイン後にコピー

または、定数の 1 つを double として宣言することもできます。

i = 200.0 / 3;
ログイン後にコピー

または、 double リテラルを示すサフィックス d :

i = 200d / 3;
ログイン後にコピー

定数の 1 つを double として宣言すると、double 除算演算子が確実に使用され、それによって整数の丸めが防止され、10 進数値が保持されます。

以上がC# が整数の除算を切り捨てるのはなぜですか?それを防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート