跳過到頁腳內容
.NET幫助

C# Round to 2 Decimal Places(對於開發者的運行原理)

程式設計中的數字重整是一項常見的工作,尤其是在處理需要精確到小數點後一定位數的財務資料或測量時。 在 C# 中,有幾種方法可以將小數或雙數四捨五入到小數點後兩位。 本教學將明確解說這些概念,並提供您有關如何使用 C# 達到此精確度的全面知識。 我們將探討 IronPDF 函式庫的功能,以及 C# 語言所提供的各種方法和函式,以便將十進位數處理到指定的精確度。

Understanding Decimal and Double Value Types in C#

在深入了解四捨五入的數字技巧之前,了解我們要處理的數字類型非常重要。 在 C# 中,decimaldouble是用於數值的兩種不同類型。 十進制變數通常用於需要最高精確度的情況,例如財務計算。 另一方面,double 結果可用於浮點運算已經足夠,且效能是比精確精準度更重要的因素。 這兩種類型都可以使用 C# 函式庫中的特定方法進行四捨五入。

使用 Math.Round 將數值四捨五入到兩個小數位

Math.Round 方法是將小數值或雙數值四捨五入到指定小數位數的最直接方法。 您也可以使用這個數學函數將 double 值四捨五入為最接近的整數。 此 Math.Round 方法用途廣泛,您可以指定小數點後要保留多少位數,如果數字正好在兩個區間的中間,也可以選擇四捨五入的策略。

將小數值四捨五入至指定小數位

若要將一個小數進位到小數點後兩位,您可以使用 Math.Round 方法,該方法需要兩個參數:要進位的數字和小數點後的位數。 以下是一個簡單的例子:

decimal d = 3.14519M; // decimal number
// Round the decimal value to two decimal places
decimal roundedValue = Math.Round(d, 2);
Console.WriteLine(roundedValue);  // Outputs: 3.15
decimal d = 3.14519M; // decimal number
// Round the decimal value to two decimal places
decimal roundedValue = Math.Round(d, 2);
Console.WriteLine(roundedValue);  // Outputs: 3.15
Dim d As Decimal = 3.14519D ' decimal number
' Round the decimal value to two decimal places
Dim roundedValue As Decimal = Math.Round(d, 2)
Console.WriteLine(roundedValue) ' Outputs: 3.15
$vbLabelText   $csharpLabel

在這個範例中,小數值 3.14519 被四捨五入為 3.15。 方法 Math.Round 取得小數 d 並將其四捨五入至小數點後兩位。

C# Round to 2 Decimal Places (How It Works For Developers):圖 1 - 四捨五入至兩位小數的範例輸出

四捨五入 double 值

雙倍值的四捨五入與小數值的四捨五入作用類似。 以下是如何將雙數四捨五入到小數點後兩位的代碼:

double num = 3.14519;
// Round the double value to two decimal places
double result = Math.Round(num, 2);
Console.WriteLine(result);  // Output: 3.15
double num = 3.14519;
// Round the double value to two decimal places
double result = Math.Round(num, 2);
Console.WriteLine(result);  // Output: 3.15
Dim num As Double = 3.14519
' Round the double value to two decimal places
Dim result As Double = Math.Round(num, 2)
Console.WriteLine(result) ' Output: 3.15
$vbLabelText   $csharpLabel

此程式碼片段有效地將雙數 3.14519 四捨五入為最接近的小數點後兩位數 3.15。Math.Round 的第二個參數指定四捨五入到小數點後兩位。

處理中點四捨五入

四捨五入的一個重要方面是如何處理數字正好在兩個可能的捨入值之間的中點的情況。 C# 提供了一個選項,可透過 MidpointRounding 枚舉來指定捨入行為。 在這種情況下,可以控制四捨五入的方向。

double midpointNumber = 2.345; // double value
// Round with a strategy that rounds midpoints away from zero
double midpointResult = Math.Round(midpointNumber, 2, MidpointRounding.AwayFromZero);
Console.WriteLine(midpointResult);  // Outputs: 2.35
double midpointNumber = 2.345; // double value
// Round with a strategy that rounds midpoints away from zero
double midpointResult = Math.Round(midpointNumber, 2, MidpointRounding.AwayFromZero);
Console.WriteLine(midpointResult);  // Outputs: 2.35
Dim midpointNumber As Double = 2.345 ' double value
' Round with a strategy that rounds midpoints away from zero
Dim midpointResult As Double = Math.Round(midpointNumber, 2, MidpointRounding.AwayFromZero)
Console.WriteLine(midpointResult) ' Outputs: 2.35
$vbLabelText   $csharpLabel

C# Round to 2 Decimal Places (How It Works For Developers):圖 2 - 中點捨入為 2 位小數輸出

在上面的示例中,MidpointRounding.AwayFromZero 指示該方法將中點數字 2.345 四捨五入為距離零最近的數字,結果為 2.35。 這在常用四捨五入的財務計算中特別有用。

使用 IronPDF 與 C# 將數字四捨五入並產生 PDF

C# Round to 2 Decimal Places (How It Works For Developers):圖 3 - IronPDF

IronPDF 是專為 .NET 平台設計、以 C# 寫成的綜合 PDF 產生函式庫。 它因能夠透過渲染 HTML、CSS 和 JavaScript 以及圖片來建立高品質的 PDF而廣受好評。 此功能可確保開發人員能利用現有的網頁開發技能來產生 PDF。 IronPDF 利用 Chrome 渲染引擎製作像素完美的 PDF 文件,與網頁瀏覽器中的版面一模一樣。

IronPDF 的主要功能是其HTML 至 PDF 的轉換功能,可確保保留您的版面設計和樣式。 它可以將網頁內容轉換成 PDF,適用於報告、發票和文件。 您可以輕鬆地將 HTML 檔案、URL 和 HTML 字串轉換為 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
$vbLabelText   $csharpLabel

IronPDF 可與 C# 無縫整合,以處理精確的任務,例如在嵌入 PDF 前將小數四捨五入到小數點後兩位。 這在財務報告或發票中特別有用,因為數字的準確性非常重要。

範例:使用四捨五入的小數值生成 PDF

在本範例中,我們將建立一個簡單的 C# 應用程式,使用 IronPDF 來產生一個 PDF 文件,其中包含一個四捨五入到小數點後兩位的數字清單。 這展示了如何在真實世界的情境中整合數值計算與 PDF 產生。

首先,您需要安裝 IronPDF。 您可以透過 NuGet 來完成:

Install-Package IronPdf

IronPDF 安裝完成後,以下是如何從 HTML 內容建立 PDF,包括四捨五入至小數點後兩位的數字:

using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Make sure to set the license key if using a trial or licensed version
        License.LicenseKey = "License-Key";

        var Renderer = new ChromePdfRenderer();

        // Sample data that might come from a database or computation
        double initialValue = 2.345678;
        double roundedValue = Math.Round(initialValue, 2);

        // HTML content including the rounded value
        var htmlContent = $@"
            <html>
            <head>
                <title>PDF Report</title>
            </head>
            <body>
                <h1>Financial Report</h1>
                <p>Value after rounding: {roundedValue}</p>
            </body>
            </html>";

        // Convert HTML to PDF
        var pdfDocument = Renderer.RenderHtmlAsPdf(htmlContent);
        pdfDocument.SaveAs("Report.pdf");

        Console.WriteLine("PDF generated successfully.");
    }
}
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Make sure to set the license key if using a trial or licensed version
        License.LicenseKey = "License-Key";

        var Renderer = new ChromePdfRenderer();

        // Sample data that might come from a database or computation
        double initialValue = 2.345678;
        double roundedValue = Math.Round(initialValue, 2);

        // HTML content including the rounded value
        var htmlContent = $@"
            <html>
            <head>
                <title>PDF Report</title>
            </head>
            <body>
                <h1>Financial Report</h1>
                <p>Value after rounding: {roundedValue}</p>
            </body>
            </html>";

        // Convert HTML to PDF
        var pdfDocument = Renderer.RenderHtmlAsPdf(htmlContent);
        pdfDocument.SaveAs("Report.pdf");

        Console.WriteLine("PDF generated successfully.");
    }
}
Imports IronPdf
Imports System

Friend Class Program
	Shared Sub Main()
		' Make sure to set the license key if using a trial or licensed version
		License.LicenseKey = "License-Key"

		Dim Renderer = New ChromePdfRenderer()

		' Sample data that might come from a database or computation
		Dim initialValue As Double = 2.345678
		Dim roundedValue As Double = Math.Round(initialValue, 2)

		' HTML content including the rounded value
		Dim htmlContent = $"
            <html>
            <head>
                <title>PDF Report</title>
            </head>
            <body>
                <h1>Financial Report</h1>
                <p>Value after rounding: {roundedValue}</p>
            </body>
            </html>"

		' Convert HTML to PDF
		Dim pdfDocument = Renderer.RenderHtmlAsPdf(htmlContent)
		pdfDocument.SaveAs("Report.pdf")

		Console.WriteLine("PDF generated successfully.")
	End Sub
End Class
$vbLabelText   $csharpLabel

C# Round to 2 Decimal Places (How It Works For Developers):圖 4 - PDF 輸出

本範例展示如何結合 C# 精確的數學運算與 IronPDF 的文件產生功能,以建立詳細且精確的 PDF 報告。 不論是財務摘要、技術報告,或是任何其他對數字精確度要求極高的文件,此方法都能確保您的資料清楚正確地呈現。

結論

C# Round to 2 Decimal Places (How It Works For Developers):圖 5 - 授權

將數字四捨五入到指定的小數位數是 C# 中處理小數值和雙數值的一個基本方面。 在本教程中,我們探討了如何使用 Math.Round 函式四捨五入至小數點後兩位。 我們還討論了如何處理數字正好落在兩個可以四捨五入的數字中間的情況。 IronPDF 在其授權頁面上提供免費試用,供開發人員在購買前探索其功能。 如果您認為它是滿足您需求的合適工具,商業用途的授權價格從 $999 起。

常見問題解答

在 C# 中將數字四捨五入到小數點後兩位的最有效方法是什麼?

在 C# 中將數字四捨五入到小數點後兩位的最有效方法是使用 Math.Round 方法,該方法允許您指定小數位數和取整策略。

為什麼在 C# 中選擇十進位而非雙精度進行財務計算?

由於更高的精度,在 C# 中財務計算時更偏好使用十進位而不是雙精度,這在處理金錢和其他精確數值運算時至關重要。

如何在 C# 中控制中點取整?

在 C# 中,可以使用 MidpointRounding enum 控制中點取整,讓您定義如何處理恰好在兩個可能的取整值之間的數字。

如何在 C# 中將 HTML 內容轉換為 PDF?

您可以使用 IronPDF 將 HTML 內容轉換為 PDF,它可以高效地將 HTML 字串、文件和網頁渲染為高質量的 PDF,保持原始佈局和樣式。

使用 C# 的 PDF 生成庫需要什麼?

要使用 IronPDF 在 C# 中生成 PDF,您需要通過 NuGet 安裝 IronPDF 套件,該套件提供 PDF 創建和操作的必要工具。

可以使用哪些方法將取整的數字整合到 PDF 中?

您可以使用 IronPDF 將取整的數字整合到 PDF 中,首先使用 Math.Round 將數字取整,然後將它們順利地整合到您的 PDF 內容中。

在 C# 中使用 IronPDF 生成文檔有哪些好處?

IronPDF 在 C# 文檔生成中具有優勢,因為它允許 HTML 到 PDF 的轉換,同時保留樣式,支持各種網路標準,並能夠嵌入精確的數據。

如何在金融應用中確保正確的取整策略?

要確保金融應用中的正確取整策略,請使用 MidpointRounding.AwayFromZeroMath.Round,這將中點值四捨五入遠離零,符合標準金融取整慣例。

在 C# 中保存 PDF 文件時應考慮哪些事項?

在 C# 中使用 IronPDF 生成的 PDF 文件保存時,重要的是使用 SaveAs 方法,指定所需的文件路徑,確保文件可供預期用戶訪問。

在商業項目中使用 IronPDF 的許可證如何運作?

要在商業中使用 IronPDF,您必須獲得許可證,這些許可證有多個級別可用。開發者還可以獲得免費試用,以在購買前評估軟體的能力。

Jacob Mellor, Team Iron 首席技術官
首席技術官

Jacob Mellor是Iron Software的首席技術官,也是開創C# PDF技術的前瞻性工程師。作為Iron Software核心代碼庫的原始開發者,他自公司成立以來就塑造了公司的產品架構,並與CEO Cameron Rimington將公司轉型為服務NASA、Tesla以及全球政府機構的50多人公司。

Jacob擁有曼徹斯特大學土木工程一級榮譽學士學位(1998年–2001年)。他於1999年在倫敦開立首家軟體公司,並於2005年建立了他的第一個.NET組件,專注於解決Microsoft生態系統中的複雜問題。

他的旗艦作品IronPDF和Iron Suite .NET程式庫全球已獲得超過3000萬次NuGet安裝,他的基礎代碼不斷在全球各地驅動開發者工具。擁有25年以上的商業經驗和41年的編碼專業知識,Jacob仍然專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我