.NET 帮助

Parseint C#(开发人员工作原理)

在使用C#处理数据时,开发人员经常需要将数字的文本表示转换为整数。 这个任务被称为“解析整数”,对于从处理用户输入到从像PDF这样的文件中提取数据等各种应用都是至关重要的。 虽然 C# 提供了强大的整数解析方法,但在处理像 PDF 中那样的非结构化或半结构化数据时,这一过程会变得更加复杂。

这就是IronPDF,一个为.NET开发者设计的强大PDF库,发挥作用的地方。 使用IronPDF,您可以从PDF中提取文本,并利用C#的解析能力将这些文本转换为可用的数值数据。 无论您是在分析发票、报告还是表单,将C#的解析工具与IronPDF结合使用都简化了PDF数据的处理,使您可以将字符串格式的数字转换为整数。

在本文中,我们将深入探讨如何在 C# 中使用 ParseInt 将数字的字符串表示形式转换为整数,以及 IronPDF 如何简化从 PDF 中提取和解析数字数据的过程。

C# 中的 ParseInt 是什么?

解析整数的基础知识

在 C# 中,将字符串值(例如 "123")转换为整数通常使用 int.Parse() 或 Convert.ToInt32() 进行。 这些方法帮助开发人员将文本数据转换为可用于计算和验证的数值。

  • int.Parse(string s):将字符串转换为整数。 如果字符串不是有效的整数,则抛出异常。
  • Convert.ToInt32(string s):将字符串转换为整数,特别处理空输入。

    这是使用 int.Parse() 转换字符串的示例:

string numberString = "123";
int num = int.Parse(numberString);
Console.WriteLine(num); // Output: 123
string numberString = "123";
int num = int.Parse(numberString);
Console.WriteLine(num); // Output: 123
Dim numberString As String = "123"
Dim num As Integer = Integer.Parse(numberString)
Console.WriteLine(num) ' Output: 123
$vbLabelText   $csharpLabel

或者,使用 Convert 类:

string numericString = "123";
int i = Convert.ToInt32(numericString);
Console.WriteLine(result); // Outputs: 123
string numericString = "123";
int i = Convert.ToInt32(numericString);
Console.WriteLine(result); // Outputs: 123
Dim numericString As String = "123"
Dim i As Integer = Convert.ToInt32(numericString)
Console.WriteLine(result) ' Outputs: 123
$vbLabelText   $csharpLabel

Convert 类允许您安全地转换字符串和其他数据类型。 当字符串变量可能表示空或无效值时,这尤其有用,因为 Convert.ToInt32() 会返回默认值(在此情况下为 0),而不是抛出异常。

默认值和处理错误

开发人员在将字符串转换为整数时经常面临的一个问题是处理无效或非数字输入。 如果数字的字符串表示形式格式不正确,像 int.Parse() 这样的方法将抛出异常。 但是,Convert.ToInt32() 对无效字符串具有内置的回退机制。

以下示例演示了在解析时如何处理默认值:

string invalidString = "abc";
int result = Convert.ToInt32(invalidString); // Returns 0 (default value) instead of throwing an error.
Console.WriteLine(result); // Outputs: 0
string invalidString = "abc";
int result = Convert.ToInt32(invalidString); // Returns 0 (default value) instead of throwing an error.
Console.WriteLine(result); // Outputs: 0
Dim invalidString As String = "abc"
Dim result As Integer = Convert.ToInt32(invalidString) ' Returns 0 (default value) instead of throwing an error.
Console.WriteLine(result) ' Outputs: 0
$vbLabelText   $csharpLabel

如果您想要更好地控制字符串转换,可以使用int.TryParse(),它返回一个布尔值,指示转换是否成功:

string invalidInput = "abc";
if (int.TryParse(invalidInput, out int result))
{
    Console.WriteLine(result);
}
else
{
    Console.WriteLine("Parsing failed.");
}
string invalidInput = "abc";
if (int.TryParse(invalidInput, out int result))
{
    Console.WriteLine(result);
}
else
{
    Console.WriteLine("Parsing failed.");
}
Dim invalidInput As String = "abc"
Dim result As Integer
If Integer.TryParse(invalidInput, result) Then
	Console.WriteLine(result)
Else
	Console.WriteLine("Parsing failed.")
End If
$vbLabelText   $csharpLabel

在这种情况下,TryParse() 使用一个 out 参数来存储转换后的整数,这使得方法在转换失败时返回一个值而不抛出异常,而是执行 else 语句,从而避免程序崩溃。 否则,程序将显示从输入字符串成功解析的数字结果。 使用int.TryParse在可能发生转换失败的情况下会很有帮助,并且您希望避免程序崩溃。

使用IronPDF解析PDF中的数据

为什么使用IronPDF解析数据?

Parseint C#(开发人员如何使用):图1

在处理PDF文件时,您可能会遇到包含字符串形式的数值数据的表格或非结构化文本。 要提取和处理这些数据,将字符串转换为整数至关重要。 IronPDF使这一过程变得简单明了,提供了读取PDF内容的灵活性和强大功能,并能够执行将字符串转换为数值等操作。

以下是 IronPDF 提供的一些主要功能:

  • HTML 转换为 PDF:IronPDF 可以将HTML 内容(包括 CSS、图像和 JavaScript)转换为完全格式化的 PDF。 这对于将动态网页或报告渲染为 PDF 格式尤其有用。
  • PDF编辑:通过IronPDF,您可以操控现有的PDF文档,添加文本、图像和图形,以及编辑现有页面的内容。
  • 文本和图像提取:该库允许您从PDF中提取文本和图像,使解析和分析PDF内容变得简单。
  • 水印:同样可以在 PDF 文档上添加水印,以用于品牌化或版权保护。

IronPDF 入门

要开始使用IronPDF,您首先需要安装它。 如果已经安装,则可以跳到下一节,否则,以下步骤将介绍如何安装 IronPDF 库。

通过 NuGet 软件包管理器控制台

要使用 NuGet 包管理器控制台安装 IronPDF,请打开 Visual Studio 并导航到包管理器控制台。 然后运行以下命令:

Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
$vbLabelText   $csharpLabel

通过 NuGet 软件包管理器获取解决方案

打开 Visual Studio,进入 "工具 -> NuGet 包管理器 -> 管理解决方案的 NuGet 包 "并搜索 IronPdf。 在这里,您只需选择您的项目并点击 "安装",IronPDF 就会添加到您的项目中。

Parseint C#(如何为开发人员工作):图2

安装 IronPDF 后,只需在代码顶部添加正确的 using 语句即可开始使用 IronPDF:

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

解锁免费试用版

IronPDF提供免费试用,可以全面访问其功能。 访问IronPDF 网站以下载试用版,并开始将高级 PDF 处理集成到您的 .NET 项目中。

示例:从 PDF 中提取和解析数字

以下C#代码演示了如何使用IronPDF从PDF中提取文本,然后使用正则表达式在提取的文本中查找和解析所有数值。 代码处理整数和小数,清除货币符号等非数字字符。

using IronPdf;
using System.Text.RegularExpressions;
public class Program
{
    public static void Main(string[] args)
    {
        // Load a PDF file
        PdfDocument pdf = PdfDocument.FromFile("example.pdf");
        // Extract all text from the PDF
        string text = pdf.ExtractAllText();
        // Print the extracted text (for reference)
        Console.WriteLine("Extracted Text: ");
        Console.WriteLine(text);
        // Parse and print all numbers found in the extracted text
        Console.WriteLine("\nParsed Numbers:");
        // Use regular expression to find all number patterns, including integers and decimals
        var numberMatches = Regex.Matches(text, @"\d+(\.\d+)?");
        // Iterate through all matched numbers and print them
        foreach (Match match in numberMatches)
        {
            // Print each matched number
            Console.WriteLine($"{match.Value}");
        }
    }
}
using IronPdf;
using System.Text.RegularExpressions;
public class Program
{
    public static void Main(string[] args)
    {
        // Load a PDF file
        PdfDocument pdf = PdfDocument.FromFile("example.pdf");
        // Extract all text from the PDF
        string text = pdf.ExtractAllText();
        // Print the extracted text (for reference)
        Console.WriteLine("Extracted Text: ");
        Console.WriteLine(text);
        // Parse and print all numbers found in the extracted text
        Console.WriteLine("\nParsed Numbers:");
        // Use regular expression to find all number patterns, including integers and decimals
        var numberMatches = Regex.Matches(text, @"\d+(\.\d+)?");
        // Iterate through all matched numbers and print them
        foreach (Match match in numberMatches)
        {
            // Print each matched number
            Console.WriteLine($"{match.Value}");
        }
    }
}
Imports Microsoft.VisualBasic
Imports IronPdf
Imports System.Text.RegularExpressions
Public Class Program
	Public Shared Sub Main(ByVal args() As String)
		' Load a PDF file
		Dim pdf As PdfDocument = PdfDocument.FromFile("example.pdf")
		' Extract all text from the PDF
		Dim text As String = pdf.ExtractAllText()
		' Print the extracted text (for reference)
		Console.WriteLine("Extracted Text: ")
		Console.WriteLine(text)
		' Parse and print all numbers found in the extracted text
		Console.WriteLine(vbLf & "Parsed Numbers:")
		' Use regular expression to find all number patterns, including integers and decimals
		Dim numberMatches = Regex.Matches(text, "\d+(\.\d+)?")
		' Iterate through all matched numbers and print them
		For Each match As Match In numberMatches
			' Print each matched number
			Console.WriteLine($"{match.Value}")
		Next match
	End Sub
End Class
$vbLabelText   $csharpLabel

输入 PDF

Parseint C#(开发人员如何使用):图 3

控制台输出

Parseint C#(它对开发人员的作用):图 4

代码解释

  1. 从PDF提取文本

    代码首先使用IronPDF加载PDF文件。 然后从 PDF 中提取所有文本。

  2. 使用正则表达式查找数字

    代码使用正则表达式(一种匹配文本的模式)来搜索提取的文本并查找任何数字。 这个正则表达式用于查找整数(例如,12345)和小数(例如,50.75)。

  3. 解析和打印数字

    一旦找到这些数字,程序就会将每个数字打印到控制台。 这包括整数和小数。

  4. 为什么选择正则表达式

    正则表达式被使用是因为它们是用于查找文本模式(如数字)的强大工具。 他们可以处理带有符号的数字(如货币符号 $),使过程更加灵活。

常见挑战及IronPDF如何解决它们

从复杂的PDF结构中提取干净的数据通常会产生可能需要进一步处理的字符串值,例如将字符串转换为整数。 以下是一些常见的挑战以及IronPDF如何提供帮助:

PDF中的格式错误

PDF文档中通常包含格式为文本的数字(例如,“1,234.56”或“12,345 USD”)。 要正确处理这些内容,您需要确保数字的字符串表示形式符合解析所需的正确格式。 IronPDF 允许您干净地提取文本,并且您可以使用字符串操作方法(例如,Replace())在转换之前调整格式。

示例:

string formattedNumber = "1,234.56"; // String value with commas
string cleanNumber = formattedNumber.Replace(",", ""); // Remove commas
int result = Convert.ToInt32(Convert.ToDouble(cleanNumber)); // Convert to integer
Console.WriteLine(result); // Outputs: 1234
string formattedNumber = "1,234.56"; // String value with commas
string cleanNumber = formattedNumber.Replace(",", ""); // Remove commas
int result = Convert.ToInt32(Convert.ToDouble(cleanNumber)); // Convert to integer
Console.WriteLine(result); // Outputs: 1234
Dim formattedNumber As String = "1,234.56" ' String value with commas
Dim cleanNumber As String = formattedNumber.Replace(",", "") ' Remove commas
Dim result As Integer = Convert.ToInt32(Convert.ToDouble(cleanNumber)) ' Convert to integer
Console.WriteLine(result) ' Outputs: 1234
$vbLabelText   $csharpLabel

处理文本中的多个数值

在复杂的PDF中,数值可能以不同格式出现或分散在不同的位置。 使用 IronPDF,您可以提取所有文本,然后使用正则表达式高效地查找和转换字符串为整数。

结论

在C#中解析整数是开发人员的一项基本技能,尤其是在处理用户输入或从各种来源提取数据时。 虽然像 int.Parse() 和 Convert.ToInt32() 这样的内置方法很有用,处理非结构化或半结构化数据(例如在PDF中找到的文本)可能会带来额外的挑战。 这就是IronPDF发挥作用的地方,提供了一种强大而简单的解决方案,用于从PDF中提取文本并在.NET应用程序中处理这些文本。

通过使用IronPDF,您可以轻松从复杂的PDF文件(包括扫描的文档)中提取文本,并将这些数据转换为可用的数值。 IronPDF具备OCR扫描PDF和强大的文本提取工具等功能,使您能够简化数据处理,即使是在复杂格式中。

无论您是在处理发票、财务报告,还是任何其他包含数字数据的文档,将 C# 的 ParseInt 方法与 IronPDF 结合使用将帮助您更高效、更准确地工作。

不要让复杂的PDF减缓您的开发进程—开始使用IronPDF是探索IronPDF如何增强您的工作流的完美机会,为什么不尝试看看它如何简化您的下一个项目呢?

Chipego
软件工程师
Chipego 拥有出色的倾听技巧,这帮助他理解客户问题并提供智能解决方案。他在 2023 年加入 Iron Software 团队,此前他获得了信息技术学士学位。IronPDF 和 IronOCR 是 Chipego 主要专注的两个产品,但他对所有产品的了解每天都在增长,因为他不断找到支持客户的新方法。他喜欢 Iron Software 的合作氛围,公司各地的团队成员贡献他们丰富的经验,以提供有效的创新解决方案。当 Chipego 离开办公桌时,你经常可以发现他在看书或踢足球。
< 前一页
C# 时间跨度格式(开发人员是如何工作的)
下一步 >
C# MySQL 连接(面向开发人员的工作原理)