Utilisez IronPDF avec la méthode Math.Round de C#. Voyez les résultats en action !
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.");
}
}
C# Round double to int (How It Works For Developers)
Jordi Bardia
avril 29, 2024
Partager:
Arrondir un double à un entier en C# est une tâche fondamentale qui se pose souvent en programmation, surtout lorsque les calculs produisent des valeurs doubles mais nécessitent des valeurs entières pour d'autres opérations. Le processus consiste à convertir une valeur double, qui peut comporter des décimales, en un nombre entier le plus proche. Pour ce faire, plusieurs méthodes peuvent être utilisées, chacune respectant une convention d'arrondi spécifique.
Tout au long de ce guide, nous explorerons les différentes stratégies et fonctions utilisées en C# pour arrondir les valeurs doubles en chiffres int, en aidant les développeurs à comprendre les implications et les applications de chaque méthode. Nous explorerons également les caractéristiques deIronPDF for .NET Bibliothèque PDFle logiciel de création de documents PDF, un outil puissant pour créer des documents PDF en C#.
Comprendre la méthode ronde
En C#, la méthode Math.Round est le principal outil permettant d'arrondir les valeurs doubles à l'entier le plus proche. Cette fonction arrondit une valeur double à la valeur intégrale la plus proche, en offrant un haut degré de contrôle sur le processus d'arrondi grâce à des surcharges qui permettent de spécifier un nombre spécifié de chiffres fractionnaires et la stratégie d'arrondi. Par exemple, lorsqu'une valeur double se situe exactement à mi-chemin entre deux entiers, la convention d'arrondi détermine si la valeur est arrondie vers le haut ou vers le bas.
Voici un exemple de base 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
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 lorsque l'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 consiste à transformer directement le double en un int, ce qui tronque toutes les décimales. Cela signifie qu'il n'arrondit pas à l'entier le plus proche, mais à l'entier inférieur le plus proche. Cette méthode est utile lorsqu'il s'agit uniquement 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
Dans l'exemple ci-dessus, le résultat sera 9 car la conversion explicite supprime simplement les chiffres fractionnaires de 9.9, ce qui donne un entier plus petit. Cette méthode est rapide mais peut ne pas convenir lorsqu'un arrondi précis selon les conventions d'arrondi spécifiées est nécessaire.
Utilisation d'autres méthodes pour des besoins d'arrondi spécifiques
Outre Math.Round et la conversion explicite, C# propose d'autres méthodes pour arrondir les valeurs doubles, qui répondent à des besoins différents. Par exemple, Math.Floor et Math.Ceiling proposent des options permettant d'arrondir les valeurs doubles à l'entier le plus petit ou à l'entier le plus grand, respectivement. Math.Floor est particulièrement utile pour arrondir toujours à l'inférieur, même avec des valeurs négatives, tandis que Math.Ceiling assure l'arrondi à l'entier supérieur.
Voyons quelques 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
Dans le code ci-dessus, Math.Floor renvoie 9 à partir de 9.2, en arrondissant au nombre le plus proche avec moins de chiffres fractionnaires, tandis que Math.Ceiling renvoie 10, en se rapprochant de l'entier positif suivant. Ces méthodes sont essentielles lorsque la stratégie d'arrondi doit favoriser sans ambiguïté les valeurs entières supérieures ou inférieures.
Introduction à IronPDF
Découvrez les fonctionnalités d'IronPDF pour découvrir comment cette bibliothèque .NET permet aux développeurs C# de créer et de gérer des fichiers PDF directement à partir de HTML. Il utilise un moteur de rendu Chrome pour que les PDF aient le même aspect que dans un navigateur web. Il est donc parfait pour la création de rapports basés sur le web. IronPDF peut prendre en charge des tâches complexes telles que l'ajout de signatures numériques, la modification de la mise en page des documents et l'insertion d'en-têtes, de pieds de page ou de 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 modifier des documents PDF.
Avec IronPDF, la principale fonctionnalité est la conversionHTML vers PDF à l'aide d'IronPDF, tout en maintenant les mises en page et les styles. Il peut générer des PDF à partir d'une variété de contenus web tels que des rapports, des factures et de la 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
Pour intégrer IronPDF aux fonctionnalités d'arrondi de C#, les développeurs peuvent combiner les capacités de génération de PDF d'IronPDF avec des opérations mathématiques en C#. Ceci 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 la lisibilité et la conformité aux normes comptables.
Exemple de code
Voici un exemple d'utilisation d'IronPDF avec la méthode Math.Round de C# pour créer un PDF contenant 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
Dans cet exemple, IronPDF transforme une simple chaîne HTML en fichier PDF, en y incorporant des données dynamiques qui comprennent un montant de transaction arrondi à l'entier le plus proche. Cette approche est très adaptable et permet aux développeurs de créer des documents plus complexes adaptés à leurs besoins spécifiques, en privilégiant la précision et la facilité d'utilisation.
Conclusion
L'arrondi d'un double à un int en C# est un processus versatile, influencé par la nature de la valeur double, le contexte de l'arrondi et la précision requise dans l'application. Que ce soit en utilisant Math.Round pour l'arrondi de l'intégrale la plus proche, la conversion explicite pour la 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 dispose d'uneessai gratuit d'IronPDFet les prix commencent à partir de $749.
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
< PRÉCÉDENT Logging C# (Comment ça marche pour les développeurs)
SUIVANT > En C# (Comment ça marche pour les développeurs)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier