首頁 > 後端開發 > C++ > 如何在 C# 中有效刪除小數中的尾隨零​​?

如何在 C# 中有效刪除小數中的尾隨零​​?

Susan Sarandon
發布: 2025-01-24 08:57:10
原創
230 人瀏覽過

How Can I Efficiently Remove Trailing Zeros from Decimal Numbers in C#?

從 C# 小數中刪除尾隨零:一個乾淨的解

格式化十進制數字以消除尾隨零可能很棘手。 最近的一項程式設計挑戰凸顯了對可靠解決方案的需求,以避免不必要的捨入。

挑戰:

任務是刪除小數中的尾隨零​​,如下所示:

<code>2.4200
2.0044
2.0000</code>
登入後複製

所需的輸出為:

<code>2.42
2.0044
2</code>
登入後複製

String.Format這樣的標準方法被證明是不夠的,要麼保留零,要麼引入舍入誤差。

優雅的解決方案:

此解決方案利用了 decimal 類型的內部結構。 擴展方法提供了一種乾淨的方法來標準化十進制值:

public static decimal Normalize(this decimal value)
{
    return value / 1.000000000000000000000000000000000m;
}
登入後複製

除以這個特定常數可以有效地調整小數的指數,刪除不必要的尾隨零。 對標準化小數呼叫 ToString() 然後會產生所需的輸出。

範例:

1.200m.Normalize().ToString(); // Output: 1.2
登入後複製

這種方法提供了一種簡潔而準確的刪除尾隨零的方法,為 C# 小數處理提供了實用的解決方案。

以上是如何在 C# 中有效刪除小數中的尾隨零​​?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板