Maison >développement back-end >C++ >Comment puis-je supprimer efficacement les zéros de fuite des nombres décimaux en C #?
Suppression des zéros à droite des décimales C# : une solution propre
Le formatage des nombres décimaux pour éliminer les zéros à droite peut être délicat. Un récent défi de programmation a mis en évidence la nécessité d'une solution robuste qui évite les arrondis indésirables.
Le défi :
La tâche consistait à supprimer les zéros à droite des décimales comme celles-ci :
<code>2.4200 2.0044 2.0000</code>
Le résultat souhaité était :
<code>2.42 2.0044 2</code>
Les méthodes standards comme String.Format
se sont révélées inadéquates, soit en préservant les zéros, soit en introduisant des erreurs d'arrondi.
La solution élégante :
La solution exploite la structure interne du type decimal
. Une méthode d'extension fournit un moyen propre de normaliser la valeur décimale :
<code class="language-csharp">public static decimal Normalize(this decimal value) { return value / 1.000000000000000000000000000000000m; }</code>
La division par cette constante spécifique ajuste efficacement l'exposant décimal, supprimant les zéros inutiles. L'appel de ToString()
sur la décimale normalisée donne alors le résultat souhaité.
Exemple :
<code class="language-csharp">1.200m.Normalize().ToString(); // Output: 1.2</code>
Cette approche offre une méthode concise et précise pour supprimer les zéros de fin, fournissant une solution pratique pour la gestion des décimales C#.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!