Heim > Backend-Entwicklung > C++ > Wie kann ich nachfolgende Nullen effizient aus Dezimalzahlen in C# entfernen?

Wie kann ich nachfolgende Nullen effizient aus Dezimalzahlen in C# entfernen?

Susan Sarandon
Freigeben: 2025-01-24 08:57:10
Original
207 Leute haben es durchsucht

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

Nachgestellte Nullen aus C#-Dezimalzahlen entfernen: Eine saubere Lösung

Dezimalzahlen zu formatieren, um nachgestellte Nullen zu eliminieren, kann schwierig sein. Eine aktuelle Programmierherausforderung hat die Notwendigkeit einer robusten Lösung deutlich gemacht, die unerwünschte Rundungen vermeidet.

Die Herausforderung:

Die Aufgabe bestand darin, nachgestellte Nullen aus Dezimalzahlen wie diesen zu entfernen:

<code>2.4200
2.0044
2.0000</code>
Nach dem Login kopieren

Die gewünschte Ausgabe war:

<code>2.42
2.0044
2</code>
Nach dem Login kopieren

Standardmethoden wie String.Format erwiesen sich als unzureichend, da sie entweder die Nullen beibehielten oder Rundungsfehler verursachten.

Die elegante Lösung:

Die Lösung nutzt die interne Struktur des Typs decimal. Eine Erweiterungsmethode bietet eine saubere Möglichkeit, den Dezimalwert zu normalisieren:

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

Durch die Division durch diese spezifische Konstante wird der Exponent der Dezimalzahl effektiv angepasst und unnötige nachgestellte Nullen entfernt. Der Aufruf von ToString() für die normalisierte Dezimalzahl liefert dann die gewünschte Ausgabe.

Beispiel:

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

Dieser Ansatz bietet eine präzise und genaue Methode zum Entfernen nachfolgender Nullen und stellt eine praktische Lösung für die Dezimalverarbeitung in C# dar.

Das obige ist der detaillierte Inhalt vonWie kann ich nachfolgende Nullen effizient aus Dezimalzahlen in C# entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage