.NET 帮助

C# 四舍五入到小数点后两位(开发人员指南)

发布 2024年四月29日
分享:

数字四舍五入 在编程中,四舍五入是一项常见的任务,尤其是在处理需要精确到小数点后一定位数的财务数据或测量数据时。在 C# 中,有几种方法可以将小数或两位数四舍五入到小数点后两位。本教程将清楚地解释这些概念,并为您提供如何使用 C# 实现这一精度的全面知识。我们将研究 IronPDF 以及 C# 语言提供的各种方法和函数来处理指定精度的十进制数。

了解 C&num 中的十进制和双数值类型;

在学习数字四舍五入技巧之前,了解我们要处理的数字类型非常重要。在 C# 中,十进制二进制是两种不同的数值类型。十进制变量通常在需要最高精度时使用,例如在财务计算中。另一方面,结果则用于浮点计算已经足够,而且性能比精确度更重要的情况。这两种类型都可以使用 C# 库中的特定方法进行舍入。

使用 Math.Round 四舍五入到两位小数

Math.Round方法是将小数值或双数值四舍五入到指定小数位数的最直接方法。您还可以使用此数学函数将双数值四舍五入为最接近的整数。这种 Math.Round 值方法用途广泛,可以指定小数点后要保留多少位数,还可以在数字正好位于两个区间的中间时选择四舍五入策略。

将小数四舍五入到小数位

要将一个小数四舍五入到小数点后两位,可以使用 Math.Round方法,该方法需要两个参数:要四舍五入的数和小数点后的位数。下面是一个简单的例子:

decimal d = 3.14519M; // decimal number
decimal roundedValue = Math.Round(d, 2);
Console.WriteLine(roundedValue);  // Outputs: 3.15
decimal d = 3.14519M; // decimal number
decimal roundedValue = Math.Round(d, 2);
Console.WriteLine(roundedValue);  // Outputs: 3.15
Dim d As Decimal = 3.14519D ' decimal number
Dim roundedValue As Decimal = Math.Round(d, 2)
Console.WriteLine(roundedValue) ' Outputs: 3.15
VB   C#

在本例中,十进制数值 3.14519 四舍五入为 3.15。方法 Math.Round将小数d四舍五入到小数点后两位。

C# 四舍五入到两位小数(开发人员如何操作):图 1 - 四舍五入两位小数的输出示例

双倍值四舍五入

对双数值进行四舍五入的方法与对小数值进行四舍五入的方法类似。下面是如何使用数学函数将双数值四舍五入到小数点后两位的代码:

double num = 3.14519;
double result = Math.Round(num, 2); // round to 2 digits
Console.WriteLine(result);  // Output: 3.15
double num = 3.14519;
double result = Math.Round(num, 2); // round to 2 digits
Console.WriteLine(result);  // Output: 3.15
Dim num As Double = 3.14519
Dim result As Double = Math.Round(num, 2) ' round to 2 digits
Console.WriteLine(result) ' Output: 3.15
VB   C#

此代码片段使用 math.round 值有效地将 3.14519 这个二进制数舍入为最接近的整数 3.15。Math.round 的第二个参数指定四舍五入到小数点后两位。

处理中点四舍五入

四舍五入的一个重要方面是如何处理数字正好位于两个可能的四舍五入值之间的中点的情况。C# 提供了一个选项,可通过 MidpointRounding 枚举指定四舍五入行为。这样就可以在这种情况下控制四舍五入的方向。

double midpointNumber = 2.345; // double value format
double midpointResult = Math.Round(midpointNumber, 2, MidpointRounding.AwayFromZero);
Console.WriteLine(midpointResult);  // Outputs answer: 2.35
double midpointNumber = 2.345; // double value format
double midpointResult = Math.Round(midpointNumber, 2, MidpointRounding.AwayFromZero);
Console.WriteLine(midpointResult);  // Outputs answer: 2.35
Dim midpointNumber As Double = 2.345 ' double value format
Dim midpointResult As Double = Math.Round(midpointNumber, 2, MidpointRounding.AwayFromZero)
Console.WriteLine(midpointResult) ' Outputs answer: 2.35
VB   C#

C# 四舍五入到 2 个小数位(开发人员如何操作):图 2 - 中点四舍五入至小数点后 2 位输出

在上例中,MidpointRounding.AwayFromZero告诉方法将中点数2.345四舍五入到离零最近的数,结果是2.35。这在通常使用四舍五入的财务计算中特别有用。

使用 IronPDF 和 C# 对数字进行四舍五入并生成 PDF 文件

C# 四舍五入至 2 个小数位(开发人员如何操作):图 3 - IronPDF

IronPDF 是一个专为 .NET 平台设计、用 C# 编写的综合性 PDF 生成库。它因其创建 PDF 的能力而广受好评。 通过渲染 HTMLPDF 生成器可以生成 PDF、CSS、JavaScript 和图像。这一功能确保开发人员可以利用现有的网络开发技能生成 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
VB   C#

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()
    {
        License.LicenseKey = "License-Key";
        // Create a PDF document
        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()
    {
        License.LicenseKey = "License-Key";
        // Create a PDF document
        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()
		License.LicenseKey = "License-Key"
		' Create a PDF document
		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
VB   C#

C# 四舍五入至 2 个小数位(开发人员如何操作):图 4 - PDF 输出

本示例展示了如何将 C# 数学运算的精确性与 IronPDF 的文档生成功能相结合,以创建详细而准确的 PDF 报告。无论是财务摘要、技术报告,还是其他任何对数字准确性要求较高的文档,这种方法都能确保您的数据清晰、正确地呈现出来。

结论

C# 四舍五入至 2 个小数位(开发人员如何操作):图 5 - 许可证

将数字四舍五入到指定的小数位数是 C# 中处理小数和双数值的一个基本方面。在本教程中,我们探讨了如何使用 Math.Round 函数将数字四舍五入到小数点后两位。我们还讨论了如何处理数字正好位于两个可以四舍五入的数字中间的情况。IronPDF 提供了一个 免费试用 供开发人员在购买前了解其功能。如果您认为该工具符合您的需求,商业使用许可起价为 749 美元。

< 前一页
工厂模式C#(开发者如何使用)
下一步 >
C# 子字符串(开发人员如何使用)

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 10,731,156 查看许可证 >