.NET-HILFE

C# Round double to int (Wie es funktioniert für Entwickler)

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.Floor 9 aus 9.2 zurück, indem es auf die nächstliegende Zahl mit weniger Nachkommastellen abrundet, während Math.Ceiling 10 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

C# double auf int runden (Wie es für Entwickler funktioniert): Abbildung 1 - Beispiel-PDF-Rechnung, die die gerundete Zahl mit Math.round in Verbindung mit IronPDF zeigt

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

C# Double auf Int runden (Wie es für Entwickler funktioniert): Abbildung 2 - IronPDF Lizenzierungsseite

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
Software-Ingenieur
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)