Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengeluarkan Sifar Terjejak dengan Cekap daripada Nombor Perpuluhan dalam C#?

Bagaimanakah Saya Boleh Mengeluarkan Sifar Terjejak dengan Cekap daripada Nombor Perpuluhan dalam C#?

Susan Sarandon
Susan Sarandonasal
2025-01-24 08:57:10226semak imbas

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

Mengalih keluar Sifar Mengekor daripada Perpuluhan C#: Penyelesaian Bersih

Memformat nombor perpuluhan untuk menghapuskan sifar mengekor boleh menjadi rumit. Cabaran pengaturcaraan baru-baru ini menekankan keperluan untuk penyelesaian yang mantap yang mengelakkan pembundaran yang tidak diingini.

Cabaran:

Tugasnya adalah untuk mengalih keluar sifar tertinggal daripada perpuluhan seperti ini:

<code>2.4200
2.0044
2.0000</code>

Output yang diingini ialah:

<code>2.42
2.0044
2</code>

Kaedah standard seperti String.Format terbukti tidak mencukupi, sama ada mengekalkan sifar atau memperkenalkan ralat pembundaran.

Penyelesaian Elegan:

Penyelesaian itu memanfaatkan struktur dalaman jenis decimal. Kaedah sambungan menyediakan cara yang bersih untuk menormalkan nilai perpuluhan:

<code class="language-csharp">public static decimal Normalize(this decimal value)
{
    return value / 1.000000000000000000000000000000000m;
}</code>

Membahagi dengan pemalar khusus ini melaraskan eksponen perpuluhan dengan berkesan, mengalih keluar sifar mengekor yang tidak perlu. Memanggil ToString() pada perpuluhan ternormal kemudian menghasilkan output yang diingini.

Contoh:

<code class="language-csharp">1.200m.Normalize().ToString(); // Output: 1.2</code>

Pendekatan ini menawarkan kaedah ringkas dan tepat untuk mengalih keluar sifar tertinggal, menyediakan penyelesaian praktikal untuk pengendalian perpuluhan C#.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Sifar Terjejak dengan Cekap daripada Nombor Perpuluhan dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn