Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Abrunden eines Double auf eine ganze Zahl in C# ist eine grundlegende Aufgabe, die in der Programmierung häufig auftritt, insbesondere dann, wenn Berechnungen doppelte Werte ergeben, aber für weitere Operationen ganzzahlige Werte 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 Folgendes erforschen IronPDFdie eine .NET PDF-Bibliothek ist.
In C# ist die Methode Math.Round das wichtigste Werkzeug zum Runden von Double-Werten auf die nächste Ganzzahl. Diese Funktion rundet einen Double-Wert auf den nächsten 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 Methode 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
In diesem Quellcode wird Math.Round verwendet, um den Double-Wert 9.5 auf die nächste Ganzzahl zu runden. Die Methode gibt 10 zurück, da sie auf die nächste Zahl rundet. Dies ist das erwartete Ergebnis, wenn positive Werte, die genau in der Mitte zwischen zwei ganzzahligen Werten liegen, gerundet werden.
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
Im obigen Beispiel lautet die Ausgabe 9, da bei der expliziten Konvertierung einfach die Nachkommastellen von 9,9 weggelassen werden, was zu einer kleineren ganzen Zahl führt. Diese Methode ist schnell, aber möglicherweise nicht geeignet, wenn eine genaue Rundung gemäß den vorgegebenen Rundungskonventionen erforderlich ist.
Neben Math.Round und der expliziten Konvertierung bietet C# weitere Methoden zum Runden von Double-Werten, die unterschiedlichen Anforderungen gerecht werden. Zum Beispiel bieten Math.Floor und Math.Ceiling die Möglichkeit, Double-Werte immer auf die kleinere bzw. die größere ganze Zahl zu runden. Math.Floor ist besonders nützlich, um immer abzurunden, auch bei negativen Werten, während Math.Ceiling das Aufrunden gewährleistet.
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
Im obigen Code gibt Math.Floor 9 von 9.2 zurück, wobei auf die nächste Zahl mit weniger Nachkommastellen gerundet wird, während Math.Ceiling 10 zurückgibt und sich auf die nächste positive ganze Zahl zubewegt. Diese Methoden sind unverzichtbar, wenn die Rundungsstrategie entweder höhere oder niedrigere ganzzahlige Werte bevorzugen muss, ohne dass es zu Mehrdeutigkeiten kommt.
IronPDF ist eine .NET-Bibliothek, die C#-Entwicklern die Erstellung und Verwaltung von PDF-Dateien direkt aus HTML. 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 ist die Hauptfunktion das Konvertieren HTML zu PDF, 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
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.
Hier ein Beispiel, wie Sie IronPDF zusammen mit der C#-Methode Math.Round verwenden können, um eine PDF-Datei mit gerundeten numerischen Daten zu erstellen:
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
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.
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 mit Math.Round zum Runden des nächstliegenden Integrals, durch explizite Konvertierung zum direkten Abschneiden oder mit anderen Methoden wie Math.Floor und Math.Ceiling für bestimmte Rundungsrichtungen, C# bietet Methoden zum effektiven Runden von Double-Werten. IronPDF hat eine kostenloser Test die Preise für IronPDF beginnen bei $749.
9 .NET API-Produkte für Ihre Bürodokumente