從 C# 小數中刪除尾隨零:一個乾淨的解
格式化十進制數字以消除尾隨零可能很棘手。 最近的一項程式設計挑戰凸顯了對可靠解決方案的需求,以避免不必要的捨入。
挑戰:
任務是刪除小數中的尾隨零,如下所示:
<code>2.4200 2.0044 2.0000</code>
所需的輸出為:
<code>2.42 2.0044 2</code>
像String.Format
這樣的標準方法被證明是不夠的,要麼保留零,要麼引入舍入誤差。
優雅的解決方案:
此解決方案利用了 decimal
類型的內部結構。 擴展方法提供了一種乾淨的方法來標準化十進制值:
<code class="language-csharp">public static decimal Normalize(this decimal value) { return value / 1.000000000000000000000000000000000m; }</code>
除以這個特定常數可以有效地調整小數的指數,刪除不必要的尾隨零。 對標準化小數呼叫 ToString()
然後會產生所需的輸出。
範例:
<code class="language-csharp">1.200m.Normalize().ToString(); // Output: 1.2</code>
這種方法提供了一種簡潔而準確的刪除尾隨零的方法,為 C# 小數處理提供了實用的解決方案。
以上是如何在 C# 中有效刪除小數中的尾隨零?的詳細內容。更多資訊請關注PHP中文網其他相關文章!