Passer au contenu du pied de page
.NET AIDE

C# Round double to int (Comment ça fonctionne pour les développeurs)

L'arrondi d'un double en entier en C# est une tâche fondamentale qui survient souvent en programmation, surtout lorsque les calculs produisent des valeurs double mais nécessitent des valeurs entières pour d'autres opérations. Le processus consiste à convertir une valeur double, qui peut inclure des décimales, en l'entier le plus proche. Cela peut être fait en utilisant diverses méthodes, chacune suivant une convention d'arrondi spécifiée.

Tout au long de ce guide, nous explorerons différentes stratégies et fonctions utilisées en C# pour arrondir les valeurs doubles aux chiffres entiers, aidant les développeurs à comprendre les implications et applications de chaque méthode. Nous explorerons également les fonctionnalités de la Bibliothèque IronPDF .NET PDF, un outil puissant pour créer des documents PDF en C#.

Comprendre la méthode Round

En C#, la méthode Math.Round est l'outil principal pour arrondir les valeurs doubles à l'entier le plus proche. Cette fonction arrondit une valeur double à la valeur intégrale la plus proche, offrant un haut degré de contrôle sur le processus d'arrondi grâce à des surcharges qui permettent la spécification d'un nombre spécifié de chiffres fractionnaires et de la stratégie d'arrondi. Par exemple, lorsque la valeur double est exactement à mi-chemin entre deux entiers, la convention d'arrondi détermine si la valeur est arrondie vers le haut ou le bas.

Voici un exemple basique de la méthode Math.Round :

public static void Main()
{
    double myDouble = 9.5;
    int myInt = (int)Math.Round(myDouble);
    Console.WriteLine("The rounded integer value is: " + myInt);
}
public static void Main()
{
    double myDouble = 9.5;
    int myInt = (int)Math.Round(myDouble);
    Console.WriteLine("The rounded integer value is: " + myInt);
}
Imports System

Public Shared Sub Main()
	Dim myDouble As Double = 9.5
	Dim myInt As Integer = CInt(Math.Truncate(Math.Round(myDouble)))
	Console.WriteLine("The rounded integer value is: " & myInt)
End Sub
$vbLabelText   $csharpLabel

Dans ce code source, Math.Round est utilisé pour arrondir la valeur double 9.5 à l'entier le plus proche. La méthode renvoie 10, car elle arrondit au nombre le plus proche. C'est le résultat attendu lorsqu'on arrondit des valeurs positives qui sont exactement à mi-chemin entre deux valeurs entières.

Arrondi et conversion explicite

Une autre approche courante en C# pour convertir des valeurs doubles en valeurs entières est la conversion explicite. La conversion explicite implique de caster directement le double en int, ce qui tronque les décimales. Cela signifie qu'il n'arrondit pas à l'entier le plus proche mais au plus petit entier. Cette méthode est utile lorsque vous avez seulement besoin de supprimer les chiffres fractionnaires sans tenir compte de la valeur intégrale la plus proche.

Voici comment vous pouvez effectuer une conversion explicite :

public static void Main()
{
    double myDouble = 9.9;
    int myInt = (int)myDouble;
    Console.WriteLine("The integer value after explicit conversion is: " + myInt);
}
public static void Main()
{
    double myDouble = 9.9;
    int myInt = (int)myDouble;
    Console.WriteLine("The integer value after explicit conversion is: " + myInt);
}
Imports System

Public Shared Sub Main()
	Dim myDouble As Double = 9.9
	Dim myInt As Integer = CInt(Math.Truncate(myDouble))
	Console.WriteLine("The integer value after explicit conversion is: " & myInt)
End Sub
$vbLabelText   $csharpLabel

Dans l'exemple ci-dessus, le résultat sera 9 car la conversion explicite supprime simplement les chiffres fractionnaires de 9.9, conduisant à un plus petit entier. Cette méthode est rapide mais peut ne pas être appropriée lorsque l'arrondi précis selon les conventions d'arrondi spécifiées est requis.

Utilisation d'autres méthodes pour des besoins d'arrondi spécifiques

En dehors de Math.Round et de la conversion explicite, C# propose d'autres méthodes pour arrondir les valeurs doubles, adaptées à différents besoins. Par exemple, Math.Floor et Math.Ceiling offrent des options pour arrondir les valeurs doubles toujours vers l'entier plus petit ou l'entier plus grand, respectivement. Math.Floor est particulièrement utile pour arrondir toujours vers le bas, même avec des valeurs négatives, tandis que Math.Ceiling assure un arrondi vers le haut.

Regardons des exemples de ces méthodes :

public static void Main()
{
    double myDouble = 9.2;
    int floorInt = (int)Math.Floor(myDouble);
    int ceilingInt = (int)Math.Ceiling(myDouble);
    Console.WriteLine("Rounded down: " + floorInt);
    Console.WriteLine("Rounded up: " + ceilingInt);
}
public static void Main()
{
    double myDouble = 9.2;
    int floorInt = (int)Math.Floor(myDouble);
    int ceilingInt = (int)Math.Ceiling(myDouble);
    Console.WriteLine("Rounded down: " + floorInt);
    Console.WriteLine("Rounded up: " + ceilingInt);
}
Imports System

Public Shared Sub Main()
	Dim myDouble As Double = 9.2
	Dim floorInt As Integer = CInt(Math.Truncate(Math.Floor(myDouble)))
	Dim ceilingInt As Integer = CInt(Math.Truncate(Math.Ceiling(myDouble)))
	Console.WriteLine("Rounded down: " & floorInt)
	Console.WriteLine("Rounded up: " & ceilingInt)
End Sub
$vbLabelText   $csharpLabel

Dans le code ci-dessus, Math.Floor renvoie 9 à partir de 9.2, s'arrondissant au nombre le plus proche avec moins de chiffres fractionnaires, tandis que Math.Ceiling renvoie 10, se dirigeant vers l'entier positif suivant. Ces méthodes sont essentielles lorsque la stratégie d'arrondi doit favoriser des valeurs entières plus élevées ou plus basses sans ambiguïté.

Introduction à IronPDF

Explorez les fonctionnalités d'IronPDF pour découvrir comment cette bibliothèque .NET permet aux développeurs C# de créer et gérer des fichiers PDF directement à partir de HTML. Il utilise un moteur de rendu Chrome pour garantir que les PDF ressemblent exactement à ce qu'ils feraient dans un navigateur Web. C'est parfait pour créer des rapports basés sur le Web. IronPDF peut gérer des tâches complexes comme l'ajout de signatures numériques, le changement des mises en page de documents, et l'insertion d'en-têtes, pieds de page ou filigranes personnalisés. Il est facile à utiliser car il permet aux développeurs de travailler avec des technologies Web familières telles que HTML, CSS, JavaScript et des images pour créer ou éditer des documents PDF.

Avec IronPDF, la fonctionnalité principale est de convertir HTML en PDF en utilisant IronPDF, tout en maintenant les mises en page et styles. Il peut générer des PDF à partir de divers contenus web comme des rapports, factures et documentation, en convertissant des fichiers HTML, des URL ou des chaînes HTML en fichiers PDF.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Pour intégrer IronPDF avec les fonctionnalités d'arrondi de C#, les développeurs peuvent combiner les capacités de génération de PDF d'IronPDF avec les opérations mathématiques en C#. C'est particulièrement utile dans les applications financières ou de reporting où les données numériques doivent être présentées de manière claire et précise. Par exemple, vous pouvez générer des factures ou des résumés financiers où les chiffres sont arrondis à l'entier le plus proche pour garantir lisibilité et conformité aux normes comptables.

Exemple de code

Voici un exemple de comment vous pouvez utiliser IronPDF avec la méthode Math.Round de C# pour créer un PDF incluant des données numériques arrondies :

using IronPdf;
using System;
public class PDFGenerationWithRounding
{
    public static void Main()
    {
        License.LicenseKey = "License-Key";
        // Initialize the HTML to PDF renderer
        var renderer = new ChromePdfRenderer();
        // Example data
        double transactionAmount = 123.456;
        int roundedAmount = (int)Math.Round(transactionAmount);
        // HTML content including the rounded amount
        string htmlContent = $@"
            <html>
            <head>
                <title>Transaction Summary</title>
            </head>
            <body>
                <h1>Transaction Details</h1>
                <p>Original Amount: ${transactionAmount}</p>
                <p>Rounded Amount: ${roundedAmount}</p>
            </body>
            </html>";
        // Convert the HTML to a PDF document
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("TransactionSummary.pdf");
        Console.WriteLine("The PDF document has been generated with rounded figures.");
    }
}
using IronPdf;
using System;
public class PDFGenerationWithRounding
{
    public static void Main()
    {
        License.LicenseKey = "License-Key";
        // Initialize the HTML to PDF renderer
        var renderer = new ChromePdfRenderer();
        // Example data
        double transactionAmount = 123.456;
        int roundedAmount = (int)Math.Round(transactionAmount);
        // HTML content including the rounded amount
        string htmlContent = $@"
            <html>
            <head>
                <title>Transaction Summary</title>
            </head>
            <body>
                <h1>Transaction Details</h1>
                <p>Original Amount: ${transactionAmount}</p>
                <p>Rounded Amount: ${roundedAmount}</p>
            </body>
            </html>";
        // Convert the HTML to a PDF document
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("TransactionSummary.pdf");
        Console.WriteLine("The PDF document has been generated with rounded figures.");
    }
}
Imports IronPdf
Imports System
Public Class PDFGenerationWithRounding
	Public Shared Sub Main()
		License.LicenseKey = "License-Key"
		' Initialize the HTML to PDF renderer
		Dim renderer = New ChromePdfRenderer()
		' Example data
		Dim transactionAmount As Double = 123.456
		Dim roundedAmount As Integer = CInt(Math.Truncate(Math.Round(transactionAmount)))
		' HTML content including the rounded amount
		Dim htmlContent As String = $"
            <html>
            <head>
                <title>Transaction Summary</title>
            </head>
            <body>
                <h1>Transaction Details</h1>
                <p>Original Amount: ${transactionAmount}</p>
                <p>Rounded Amount: ${roundedAmount}</p>
            </body>
            </html>"
		' Convert the HTML to a PDF document
		Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
		pdf.SaveAs("TransactionSummary.pdf")
		Console.WriteLine("The PDF document has been generated with rounded figures.")
	End Sub
End Class
$vbLabelText   $csharpLabel

Arrondi de double à int en C# (Comment ça fonctionne pour les développeurs) : Figure 1 - Extrait de facture PDF montrant le nombre arrondi en utilisant Math.round en conjonction avec IronPDF

Dans cet exemple, IronPDF rend une simple chaîne HTML en fichier PDF, incorporant des données dynamiques incluant un montant de transaction arrondi à l'entier le plus proche. Cette approche est très adaptable, permettant aux développeurs de créer des documents plus complexes sur mesure pour leurs besoins spécifiques, avec précision et facilité d'utilisation au premier plan du processus.

Conclusion

Arrondi de double à int en C# (Comment ça fonctionne pour les développeurs) : Figure 2 - Page de licences IronPDF

L'arrondi de double à int en C# est un processus polyvalent, influencé par la nature de la valeur double, le contexte de l'arrondi et la précision requise dans l'application. Que vous utilisiez Math.Round pour un arrondi au nombre intégral le plus proche, une conversion explicite pour une troncature directe, ou d'autres méthodes comme Math.Floor et Math.Ceiling pour des directions d'arrondi spécifiques, C# fournit des méthodes pour gérer efficacement l'arrondi des valeurs doubles. IronPDF propose un essai gratuit d'IronPDF et les prix commencent à partir de $799.

Questions Fréquemment Posées

Comment puis-je convertir un double en entier en C#?

En C#, vous pouvez convertir un double en entier en utilisant la méthode Math.Round, qui arrondit au nombre entier le plus proche selon des conventions spécifiées, ou par conversion explicite, qui tronque la partie décimale.

Quelle est la différence entre Math.Floor et Math.Ceiling en C#?

En C#, Math.Floor arrondit un double vers l'entier plus petit le plus proche, tandis que Math.Ceiling arrondit un double vers l'entier plus grand le plus proche.

Comment puis-je utiliser une bibliothèque PDF pour générer des documents PDF en C#?

Vous pouvez utiliser IronPDF pour générer des documents PDF en C#. Cela vous permet de convertir des chaînes HTML, des fichiers ou des URLs en PDF en utilisant un moteur de rendu Chrome pour un rendu précis de la mise en page.

Pouvez-vous fournir un exemple d'arrondissement d'un double à un entier et de génération d'un PDF en C#?

Certainement! Vous pouvez utiliser Math.Round pour arrondir un double à l'entier le plus proche et IronPDF pour générer un PDF. Par exemple : double myDouble = 12.7; int roundedInt = (int)Math.Round(myDouble); Puis utilisez IronPDF pour créer un PDF avec cet entier.

Quel rôle joue l'arrondissement dans les rapports financiers avec les PDF?

L'arrondissement est crucial dans les rapports financiers pour garantir la précision numérique. IronPDF peut s'intégrer avec les méthodes d'arrondissement en C#, permettant aux développeurs de créer des PDF qui représentent précisément les données financières avec des chiffres arrondis.

Comment la conversion explicite gère-t-elle les décimales en C#?

La conversion explicite convertit directement un double en int en C#, ce qui tronque la partie décimale, résultant en l'entier plus petit le plus proche.

Quel est l'objectif d'utiliser IronPDF pour la conversion HTML en PDF?

IronPDF est utilisé pour la conversion HTML en PDF pour garantir que le PDF de sortie ressemble étroitement au contenu web original. Il utilise un moteur de rendu Chrome pour rendre avec précision les mises en page, ce qui le rend idéal pour générer des rapports basés sur le web en C#.

Quand utiliseriez-vous Math.Floor plutôt que Math.Round en C#?

Vous utiliseriez Math.Floor en C# lorsque vous devez vous assurer que le résultat est toujours arrondi vers le bas à l'entier plus petit le plus proche, contrairement à Math.Round, qui arrondit à l'entier le plus proche suivant des conventions spécifiques.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite