
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 for .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);
}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 SubDans 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);
}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 SubDans 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 double 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);
}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 SubDans 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 avec 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");
}
}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 ClassPour 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.");
}
}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
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
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 une version d'essai gratuite d'IronPDF et les tarifs commencent à partir de $999.

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.
Articles connexes


