ホームページ > バックエンド開発 > C++ > C#で小数点以下の桁を四捨五入せずに切り捨てるにはどうすればよいですか?

C#で小数点以下の桁を四捨五入せずに切り捨てるにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-17 21:22:09
オリジナル
190 人が閲覧しました

How to Truncate, Not Round, Decimal Places in C#?

C# で四捨五入せずに小数点以下を切り捨てる

指定された小数点以下の桁数での数値の切り捨ては、さまざまなプログラミング シナリオにおいて非常に重要です。値 3.4679 を四捨五入せずに 3.46 に切り捨てる必要がある状況を考えてみましょう。

一般的なアプローチは、特定の丸めモードで Math.Round() 関数を使用することです。ただし、提供されたコードが示すように、MidpointRounding.ToEven または MidpointRounding.AwayFromZero を使用すると、丸めのため 3.47 になります。

より正確な方法は、数学的演算を使用して値を切り捨てることです:

<code class="language-csharp">value = Math.Truncate(100 * value) / 100;</code>
ログイン後にコピー

このメソッドは、値に 100 を掛けて切り捨て、次に Math.Truncate() を使用して小数点以下を削除し、最後に 100 で割って元の比率に戻します。四捨五入せずに小数点以下を効果的に切り捨てます。

注:

3.4679 のような分数は浮動小数点表記では正確に表現できないため、結果が若干異なる場合があることに注意してください。高精度に表現するには、浮動小数点数の代わりに 10 進数タイプを使用することを検討してください。

以上がC#で小数点以下の桁を四捨五入せずに切り捨てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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