首頁 >後端開發 >C++ >如何在 C# 中截斷而不是捨入小數位?

如何在 C# 中截斷而不是捨入小數位?

Linda Hamilton
Linda Hamilton原創
2025-01-17 21:22:09193瀏覽

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

在 C# 中截斷小數位而無需四捨五入

在各種程式設計場景中,將數值截斷到指定的小數位至關重要。讓我們考慮一種情況,我們需要將值 3.4679 截斷為 3.46,而無需將其四捨五入。

一個常見的方法是使用特定舍入模式的 Math.Round() 函數。但是,如提供的程式碼所示,使用 MidpointRounding.ToEvenMidpointRounding.AwayFromZero 會導致 3.47,因為進行了四捨五入。

一種更精確的方法是使用數學運算來截斷該值:

<code class="language-csharp">value = Math.Truncate(100 * value) / 100;</code>

這種方法透過將值乘以 100 來截斷它,然後使用 Math.Truncate() 來去除任何小數,最後除以 100 來恢復原始比例。它有效地丟棄了小數位而無需四捨五入。

注意事項:

請注意,像 3.4679 這樣的分數不能以浮點數表示法精確表示,這可能會導致結果略有差異。對於高精度表示,請考慮使用十進制類型而不是浮點數。

以上是如何在 C# 中截斷而不是捨入小數位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn