IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

C# Arrondir (Comment ça fonctionne pour les développeurs)

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 14 avril 2026

L'arrondi des nombres est un concept mathématique fondamental, souvent appliqué dans des scénarios réels. En C#, la méthode Math.Round facilite cela en vous permettant d'arrondir des valeurs à la valeur entière la plus proche ou à un nombre spécifique de décimales. Ce tutoriel explore les nuances de l'arrondissement en C# et illustre comment vous pouvez exploiter cette méthode puissante.

Introduction à l'arrondi

Arrondir un nombre implique de l'ajuster à la valeur intégrale ou décimale la plus proche pour le simplifier ou se conformer à une exigence particulière. Par exemple, lorsque vous avez le nombre décimal 3.14159, l'arrondir à deux décimales donnerait 3.14.

Pourquoi arrondir les nombres ?

  1. Simplicité : Les nombres arrondis sont souvent plus faciles à lire et à comprendre.
  2. Précision : Dans certains cas, il est plus efficace de travailler sur des valeurs arrondies plutôt que sur des valeurs exactes, notamment dans des contextes comme les calculs monétaires.

Scénarios courants d'arrondi

  1. Arrondi à l'entier le plus proche : Arrondir une valeur décimale à l'entier le plus proche.
  2. Nombre spécifique de décimales : arrondir un nombre à un nombre spécifique de décimales, comme arrondir 15.678 à deux décimales serait 15.68.

Basics of Rounding in C#

C# offre un système robuste pour l'arrondissement grâce à la méthode Math.Round. Cette méthode peut accepter divers arguments et paramètres pour personnaliser l'opération d'arrondi.

Arrondir à la valeur intégrale la plus proche

La forme la plus simple de la méthode Math.Round arrondit une valeur double à la valeur entière la plus proche. Si le nombre donné est à équidistance de deux entiers, il s'arrondit au nombre pair le plus proche, souvent appelé "arrondi du banquier".

double originalValue = 4.5;
double roundedValue = Math.Round(originalValue);
Console.WriteLine($"Original: {originalValue}, Rounded: {roundedValue}");

Dans l'exemple ci-dessus, 4.5 est équidistant de 4 et 5. Puisque 4 est le nombre pair le plus proche, la méthode retourne 4.

Arrondir à un nombre spécifique de décimales

Vous pouvez également arrondir un nombre à virgule flottante double à un nombre spécifié de décimales en utilisant un argument supplémentaire :

double value = 7.34567;
double rounded = Math.Round(value, 2); // Rounds to two decimal places
Console.WriteLine($"Original: {value}, Rounded: {rounded}");

La méthode arrondit la valeur originale 7.34567 à 7.35 car nous avons spécifié de l'arrondir à deux décimales.

Modes d'arrondi des milieux

Lorsque vous traitez des valeurs à mi-chemin (celles équidistantes de deux valeurs potentiellement arrondies), C# offre un mode MidpointRounding pour déterminer comment ces valeurs sont arrondies.

Arrondi par défaut

Par défaut, Math.Round arrondit les valeurs à mi-chemin au nombre pair le plus proche.

double valueOne = Math.Round(4.5);  // Rounded to 4
double valueTwo = Math.Round(5.5);  // Rounded to 6

Spécification d'un Mode MidpointRounding

Pour obtenir un contrôle accru sur l'opération d'arrondi pour des valeurs à mi-chemin, vous pouvez passer un mode MidpointRounding spécifique comme paramètre :

double value = 5.5;
double rounded = Math.Round(value, 0, MidpointRounding.AwayFromZero);
Console.WriteLine($"Original: {value}, Rounded: {rounded}");

Dans cet exemple, le mode MidpointRounding.AwayFromZero garantit que le nombre est arrondi à 6.

Utilisation de Math.Round avec des valeurs décimales

Bien que nous ayons discuté de l'arrondi des valeurs doubles, C# prend également en charge l'arrondi des valeurs décimales. Les méthodes sont analogues, mais elles fonctionnent avec le type de données décimal. Voici un exemple :

decimal decimalValue = 5.678m;
decimal roundedDecimal = Math.Round(decimalValue, 1); // Rounds to one decimal place
Console.WriteLine($"Original: {decimalValue}, Rounded: {roundedDecimal}");

Le nombre décimal 5.678 s'arrondit à 5.7 lorsqu'il est arrondi à une décimale.

Fonctions d'arrondi personnalisées

Parfois, vous devrez peut-être effectuer des opérations d'arrondi spécifiques non couvertes par la méthode standard Math.Round. Écrire des fonctions d'arrondi personnalisées vous donne un contrôle total sur le processus.

Arrondir vers le haut

Pour toujours arrondir au-dessus à l'entier le plus proche, vous pouvez utiliser la méthode Math.Ceiling :

double value = 4.3;
double roundedUp = Math.Ceiling(value);
Console.WriteLine($"Original: {value}, Rounded Up: {roundedUp}");

Le nombre décimal 4.3 s'arrondit en-haut à 5.

Arrondir vers le bas

Inversement, arrondir en bas à la valeur entière la plus proche se fait en utilisant la méthode Math.Floor :

double value = 4.7;
double roundedDown = Math.Floor(value);
Console.WriteLine($"Original: {value}, Rounded Down: {roundedDown}");

Le nombre décimal 4.7 s'arrondit en-dessous à 4.

Travailler avec une entrée de chaîne de caractères

Dans de nombreuses applications, vous pourriez gérer des valeurs numériques sous forme de chaînes de caractères. L'analyse de la chaîne de caractères en un double ou un décimal, son arrondi, puis sa reconversion peut être effectuée en C#.

Analyse et arrondi

Voici un exemple de comment arrondir une chaîne contenant un nombre décimal :

string originalString = "4.5678";
double parsedValue = double.Parse(originalString);
double rounded = Math.Round(parsedValue, 2); // Rounds to two decimal places
string roundedString = rounded.ToString();
Console.WriteLine($"Original: {originalString}, Rounded: {roundedString}");

Original : 4.5678, Arrondi : 4.57

L'arrondi dans les applications financières

Lorsque vous travaillez avec des applications financières, la précision est essentielle. Les erreurs d'arrondi peuvent entraîner des problèmes importants. Dans de tels cas, le type décimal est préféré en raison de sa plus grande précision par rapport au double.

Exemple d'arrondi de devise

L'exemple suivant démontre l'arrondi d'une valeur décimale représentant une devise :

decimal originalValue = 1234.5678m;
decimal roundedValue = Math.Round(originalValue, 2, MidpointRounding.AwayFromZero);
Console.WriteLine($"Original: {originalValue:C}, Rounded: {roundedValue:C}");

Le code ci-dessus arrondit la valeur à deux décimales, conformément à la plupart des normes monétaires.

Débogage et résolution des erreurs d'arrondi

Parfois, les opérations d'arrondi peuvent ne pas donner les résultats attendus. Ces divergences pourraient être dues à des problèmes tels que la précision des nombres à virgule flottante avec les valeurs doubles.

Pièges courants

  • Double précision : le type double peut ne pas toujours représenter exactement les nombres décimaux, ce qui peut entraîner des résultats d'arrondi inattendus. L'utilisation du type décimal peut atténuer ce problème.
  • Mode Incorrect MidpointRounding : Assurez-vous d'utiliser le bon mode MidpointRounding pour vos besoins spécifiques. Utiliser ces modes de manière incorrecte peut entraîner des erreurs d'arrondi.

Comment déboguer

Utilisez des outils comme la journalisation et les points d'arrêt pour suivre la valeur avant et après l'arrondi. L'inspection de la valeur d'origine et des paramètres passés à la méthode d'arrondi peut généralement révéler des incohérences.

Iron Suite

Après avoir maîtrisé les bases de l'arrondi en C#, vous pourriez vous demander comment faire passer vos applications au niveau supérieur, en particulier lors du traitement de formats de données complexes. La Iron Suite peut vous sauver ici. Cette suite comprend des outils puissants comme IronPDF, IronXL, IronOCR et IronBarcode. Plongeons plus profondément dans la façon dont ces outils peuvent s'intégrer à vos opérations d'arrondi et enrichir encore vos applications.

IronPDF

C# Round (Comment ça fonctionne pour les développeurs) Figure 1

L'IronPDF est une bibliothèque robuste en C# conçue pour la génération de PDF à partir de HTML, l'édition et la gestion. Imaginez un scénario où vous avez besoin de générer un rapport au format PDF après avoir effectué des opérations d'arrondi. IronPDF peut facilement convertir votre code C# en PDF de haute qualité.

using IronPdf;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Sample data for invoice
        decimal itemPrice = 49.995m; // Item price before rounding
        decimal taxRate = 0.18m;     // 18% tax rate

        // Round price to 2 decimal places
        decimal roundedPrice = Math.Round(itemPrice, 2);

        // Calculate and round the tax amount
        decimal taxAmount = Math.Round(roundedPrice * taxRate, 2);

        // Calculate the total amount
        decimal totalAmount = Math.Round(roundedPrice + taxAmount, 2);

        // Create simple HTML content for the PDF
        string htmlContent = $@"
            <h1>Invoice</h1>
            <p>Item Price: ${roundedPrice}</p>
            <p>Tax (18%): ${taxAmount}</p>
            <hr>
            <h2>Total Amount: ${totalAmount}</h2>
        ";

        // Generate PDF using IronPDF
        var renderer = new ChromePdfRenderer();
        var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF file
        pdfDocument.SaveAs("Invoice.pdf");

        Console.WriteLine("PDF invoice generated successfully with rounded values.");
    }
}

IronXL

C# Round (Comment ça fonctionne pour les développeurs) Figure 2

L'IronXL offre des fonctionnalités pour travailler avec des fichiers Excel, permettant aux développeurs C# de lire, écrire et manipuler des feuilles de calcul Excel sans problème. Avec IronXL, vous pouvez récupérer des données décimales ou doubles à partir de feuilles Excel, effectuer des opérations d'arrondi en C#.

IronOCR

C# Round (Comment ça fonctionne pour les développeurs) Figure 3

L'IronOCR est une bibliothèque avancée de reconnaissance optique de caractères (OCR) pour C# qui peut reconnaître et extraire le texte des images et des PDF. Supposons que vous ayez des documents ou des images numérisés contenant des données numériques. Avec IronOCR, vous pouvez extraire ces données, les traiter ou les arrondir en C#.

IronBarcode

C# Round (Comment ça fonctionne pour les développeurs) Figure 4

L'IronBarcode est un outil puissant pour générer, lire et classer les codes-barres et les codes QR en .NET. Dans les contextes où les données arrondies doivent être codées dans des codes-barres (par exemple, le prix des produits dans une application de vente au détail), IronBarcode peut être inestimable.

Conclusion

L'arrondi en C# est un sujet multifacette avec des applications dans divers domaines. Comprendre les méthodes intégrées comme Math.Round, Math.Floor, et Math.Ceiling, et savoir quand utiliser le type de données approprié (double ou decimal) vous permettra de gérer efficacement les données numériques.

Utiliser l'arrondi en C# aide à rendre les chiffres plus faciles à utiliser. Mais que faire si vous voulez faire encore plus avec ces chiffres ? C'est là que l'[Iron Suite](Iron Suite) entre en jeu. C'est un ensemble d'outils qui peuvent vous aider à travailler avec les fichiers PDF, les fichiers Excel, le texte dans les images et les codes-barres.

Voici la partie excitante : vous pouvez essayer ces outils gratuitement avec une licence d'essai pour voir si vous les aimez. Si vous décidez d'en acheter un, chacun coûte un liteLicense. Mais si vous voulez tous les acheter, vous pouvez obtenir l'ensemble complet pour seulement deux outils. C'est comme obtenir quatre outils mais ne payer que pour deux ! Consultez [la page de licence](Iron Suite) de l'Iron Suite pour plus d'informations.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $