Maison > développement back-end > C++ > Comment puis-je supprimer efficacement les zéros de fuite des nombres décimaux en C #?

Comment puis-je supprimer efficacement les zéros de fuite des nombres décimaux en C #?

Susan Sarandon
Libérer: 2025-01-24 08:57:10
original
207 Les gens l'ont consulté

How Can I Efficiently Remove Trailing Zeros from Decimal Numbers in 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>
Copier après la connexion

Le résultat souhaité était :

<code>2.42
2.0044
2</code>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal