Verwenden Sie IronPDF zusammen mit der Math.Round-Methode von C#. Sehen Sie die Ergebnisse in Aktion!
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 (Wie es funktioniert für Entwickler)
Chipego Kalinda
29. April 2024
Teilen Sie:
Das Runden eines Doubles zu einem Integer in C# ist eine grundlegende Aufgabe, die häufig in der Programmierung auftritt, insbesondere wenn Berechnungen Double-Werte erzeugen, aber Integer-Werte für weitere Operationen erforderlich sind. Dabei wird ein Double-Wert, der auch Nachkommastellen enthalten kann, in die nächstliegende Ganzzahl umgerechnet. Dies kann mit verschiedenen Methoden geschehen, die jeweils eine bestimmte Rundungskonvention einhalten.
In diesem Handbuch werden wir verschiedene Strategien und Funktionen untersuchen, die in C# verwendet werden, um Double-Werte auf Int-Ziffern zu runden, und Entwicklern helfen, die Auswirkungen und Anwendungen jeder Methode zu verstehen. Wir werden auch die Funktionen der IronPDF .NET PDF Library erkunden, ein leistungsstarkes Werkzeug zur Erstellung von PDF-Dokumenten in C#.
Zum Verständnis der Runden Methode
In C# ist die Math.Round-Methode das primäre Werkzeug zum Runden von Double-Werten auf die nächste ganze Zahl. Diese Funktion rundet einen Doppelwert auf den nächstgelegenen ganzzahligen Wert und bietet ein hohes Maß an Kontrolle über den Rundungsprozess durch Überladungen, die die Angabe einer bestimmten Anzahl von Nachkommastellen und der Rundungsstrategie ermöglichen. Wenn zum Beispiel ein Double-Wert genau in der Mitte zwischen zwei ganzen Zahlen liegt, bestimmt die Rundungskonvention, ob der Wert auf- oder abgerundet wird.
Hier ist ein einfaches Beispiel für die Math.Round-Methode:
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
In diesem Quellcode wird Math.Round verwendet, um den Doppelwert 9.5 auf die nächste ganze Zahl zu runden. Die Methode gibt 10 zurück, da sie auf die nächstliegende Zahl rundet. Dies ist das erwartete Ergebnis, wenn positive Werte, die genau in der Mitte zwischen zwei ganzzahligen Werten liegen, gerundet werden.
Rundung und explizite Umrechnung
Ein weiterer gängiger Ansatz in C# zur Konvertierung von Double-Werten in Integer-Werte ist die explizite Konvertierung. Bei der expliziten Konvertierung wird der double-Wert direkt in einen int-Wert umgewandelt, wobei alle Nachkommastellen abgeschnitten werden. Das bedeutet, dass nicht auf die nächste ganze Zahl gerundet wird, sondern auf die nächstkleinere ganze Zahl. Diese Methode ist nützlich, wenn Sie nur die Nachkommastellen entfernen müssen, ohne den nächstliegenden ganzzahligen Wert zu berücksichtigen.
Hier erfahren Sie, wie Sie eine explizite Konvertierung durchführen können:
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
Im obigen Beispiel wird die Ausgabe 9 sein, weil die explizite Konvertierung einfach die Nachkommastellen von 9.9 entfernt, was zu einer kleineren Ganzzahl führt. Diese Methode ist schnell, aber möglicherweise nicht geeignet, wenn eine genaue Rundung gemäß den vorgegebenen Rundungskonventionen erforderlich ist.
Verwendung anderer Methoden für spezifische Rundungsbedürfnisse
Abgesehen von Math.Round und expliziter Konvertierung bietet C# andere Methoden zum Runden von Double-Werten, die auf unterschiedliche Bedürfnisse abgestimmt sind. Zum Beispiel bieten Math.Floor und Math.Ceiling Optionen, um Double-Werte immer zum kleineren oder zum größeren Ganzzahlwert zu runden. Math.Floor ist besonders nützlich, um immer abzurunden, selbst bei negativen Werten, während Math.Ceiling das Aufrunden sicherstellt.
Schauen wir uns Beispiele für diese Methoden an:
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
Im obigen Code gibt Math.Floor9 aus 9.2 zurück, indem es auf die nächstliegende Zahl mit weniger Nachkommastellen abrundet, während Math.Ceiling10 zurückgibt, indem es zur nächsten positiven ganzen Zahl aufrundet. Diese Methoden sind unverzichtbar, wenn die Rundungsstrategie entweder höhere oder niedrigere ganzzahlige Werte bevorzugen muss, ohne dass es zu Mehrdeutigkeiten kommt.
Einführung in IronPDF
Erkunden Sie die Funktionen von IronPDF, um zu entdecken, wie diese .NET-Bibliothek C#-Entwickler ermöglicht, PDF-Dateien direkt aus HTML zu erstellen und zu verwalten. Es verwendet eine Chrome Rendering Engine, um sicherzustellen, dass die PDFs genauso aussehen wie in einem Webbrowser. Damit eignet sich das Programm hervorragend für die Erstellung webbasierter Berichte. IronPDF kann komplexe Aufgaben wie das Hinzufügen digitaler Signaturen, das Ändern von Dokumentenlayouts und das Einfügen benutzerdefinierter Kopf- und Fußzeilen oder Wasserzeichen bewältigen. Es ist einfach zu verwenden, da es Entwicklern ermöglicht, mit vertrauten Webtechnologien wie HTML, CSS, JavaScript und Bildern zu arbeiten, um PDF-Dokumente zu erstellen oder zu bearbeiten.
Mit IronPDF besteht die Hauptfunktion darin, HTML in PDF mit IronPDF zu konvertieren, während Layouts und Stile beibehalten werden. Es kann PDFs aus einer Vielzahl von Webinhalten wie Berichten, Rechnungen und Dokumentationen erstellen, indem HTML-Dateien, URLs oder HTML-Strings in PDF-Dateien umgewandelt werden.
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
Um IronPDF mit C# Rundungsfunktionen zu integrieren, können Entwickler die PDF-Erzeugungsfunktionen von IronPDF mit mathematischen Operationen in C# kombinieren. Dies ist besonders nützlich bei Finanz- oder Berichtsanwendungen, bei denen numerische Daten klar und genau dargestellt werden müssen. So können Sie beispielsweise Rechnungen oder Finanzübersichten erstellen, bei denen die Zahlen auf die nächste ganze Zahl gerundet werden, um die Lesbarkeit und die Einhaltung der Rechnungslegungsstandards zu gewährleisten.
Code-Beispiel
Hier ist ein Beispiel, wie Sie IronPDF zusammen mit der Math.Round-Methode von C# verwenden können, um ein PDF zu erstellen, das gerundete numerische Daten enthält:
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
In diesem Beispiel rendert IronPDF eine einfache HTML-Zeichenkette in eine PDF-Datei und fügt dynamische Daten ein, die einen auf die nächste Ganzzahl gerundeten Transaktionsbetrag enthalten. Dieser Ansatz ist sehr anpassungsfähig und ermöglicht es Entwicklern, komplexere Dokumente zu erstellen, die auf ihre spezifischen Bedürfnisse zugeschnitten sind, wobei Präzision und Benutzerfreundlichkeit im Vordergrund stehen.
Schlussfolgerung
Das Runden von double auf int in C# ist ein vielseitiger Prozess, der von der Art des double-Wertes, dem Kontext der Rundung und der in der Anwendung erforderlichen Genauigkeit beeinflusst wird. Ob Sie Math.Round für die Rundung zur nächsten ganzen Zahl verwenden, explizite Konvertierung für direktes Abschneiden oder andere Methoden wie Math.Floor und Math.Ceiling für bestimmte Rundungsrichtungen, bietet C# Methoden, um Gleitkommawerte effizient zu runden. IronPDF bietet eine kostenlose Testversion von IronPDF und die Preise beginnen ab $749.
Chipego hat eine natürliche Fähigkeit zum Zuhören, die ihm hilft, Kundenprobleme zu verstehen und intelligente Lösungen anzubieten. Er trat dem Iron Software-Team 2023 bei, nachdem er einen Bachelor of Science in Informationstechnologie erworben hatte. IronPDF und IronOCR sind die beiden Produkte, auf die sich Chipego konzentriert hat, aber sein Wissen über alle Produkte wächst täglich, da er neue Wege findet, Kunden zu unterstützen. Er genießt die Zusammenarbeit bei Iron Software, da Teammitglieder aus dem gesamten Unternehmen ihre unterschiedlichen Erfahrungen einbringen und so zu effektiven, innovativen Lösungen beitragen. Wenn Chipego nicht an seinem Schreibtisch sitzt, kann man ihn oft bei einem guten Buch oder beim Fußballspielen antreffen.
< PREVIOUS C# Logging (Wie es für Entwickler funktioniert)
NÄCHSTES > In C# (Wie es für Entwickler funktioniert)