푸터 콘텐츠로 바로가기
.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): 문자열을 정수로 변환하며, null 입력을 다르게 처리합니다.

int.Parse()을 사용하여 문자열을 변환하는 예시는 다음과 같습니다:

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

또한, Convert 클래스를 사용하여:

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

Convert 클래스는 문자열 및 기타 데이터 유형을 안전하게 변환할 수 있게 합니다. 이것은 특히 문자열 변수가 null이거나 잘못된 값을 나타낼 수 있는 경우에 유용하며, Convert.ToInt32()은 예외를 던지지 않고 기본 값(이 경우 0)을 반환합니다.

기본값 및 오류 처리

개발자가 문자열을 정수로 변환할 때 종종 직면하는 문제는 유효하지 않거나 비숫자 입력을 처리하는 것입니다. 숫자의 문자열 표현이 올바른 형식이 아닌 경우 int.Parse()와 같은 메서드는 예외를 던질 것입니다. 그러나 Convert.ToInt32()는 잘못된 문자열에 대한 내장 대체 메커니즘을 가지고 있습니다.

파싱할 때 기본값을 처리하는 방법을 보여주는 예시입니다:

string invalidString = "abc";
// Convert will return 0 instead of throwing an exception for invalid input
int result = Convert.ToInt32(invalidString);
Console.WriteLine(result); // Outputs: 0
string invalidString = "abc";
// Convert will return 0 instead of throwing an exception for invalid input
int result = Convert.ToInt32(invalidString);
Console.WriteLine(result); // Outputs: 0
Dim invalidString As String = "abc"
' Convert will return 0 instead of throwing an exception for invalid input
Dim result As Integer = Convert.ToInt32(invalidString)
Console.WriteLine(result) ' Outputs: 0
$vbLabelText   $csharpLabel

더 많은 제어로 문자열을 변환하고 싶다면 int.TryParse()를 사용할 수 있으며, 이는 변환이 성공했는지를 나타내는 불리언 값을 반환합니다:

string invalidInput = "abc";
// Attempt to parse using TryParse, which avoids exceptions for invalid input
if (int.TryParse(invalidInput, out int result))
{
    Console.WriteLine(result);
}
else
{
    Console.WriteLine("Parsing failed.");
}
string invalidInput = "abc";
// Attempt to parse using TryParse, which avoids exceptions for invalid input
if (int.TryParse(invalidInput, out int result))
{
    Console.WriteLine(result);
}
else
{
    Console.WriteLine("Parsing failed.");
}
Dim invalidInput As String = "abc"
' Attempt to parse using TryParse, which avoids exceptions for invalid input
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 콘텐츠를 파싱하고 분석하는 것이 쉬워집니다.
  • 워터마킹: 브랜드나 저작권 보호를 위해 PDF 문서에 워터마크를 추가할 수도 있습니다.

IronPDF 시작하기

IronPDF를 사용하기 시작하려면 먼저 설치해야 합니다. 이미 설치되어 있다면 다음 섹션으로 건너뛸 수 있습니다. 그렇지 않은 경우, 다음 단계는 IronPDF 라이브러리를 설치하는 방법을 다룹니다.

NuGet 패키지 관리자 콘솔을 통해

NuGet 패키지 관리자 콘솔을 사용하여 IronPDF를 설치하려면, Visual Studio를 열고 패키지 관리자 콘솔로 이동합니다. 그런 다음 다음 명령을 실행합니다:

// Command to install IronPDF package via the Package Manager Console
Install-Package IronPdf

솔루션용 NuGet 패키지 관리자를 통해

Visual Studio를 열고 "도구 -> NuGet 패키지 관리자 -> 솔루션용 NuGet 패키지 관리"로 이동하여 IronPDF를 검색합니다. 여기에서 프로젝트를 선택하고 "설치"를 클릭하면 IronPDF가 프로젝트에 추가됩니다.

Parseint C# (개발자에게 작동 방식): 그림 2

IronPDF를 설치한 후, 코드 상단에 올바른 using 문만 추가하면 IronPDF를 사용할 수 있습니다:

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

무료 체험판 활성화

IronPDF는 기능에 대한 완전한 액세스가 가능한 무료 체험판을 제공합니다. IronPDF 웹사이트를 방문하여 체험판을 다운로드하고 .NET 프로젝트에 고급 PDF 처리를 통합하기 시작하세요.

예제: 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. 정규 표현식을 사용하는 이유:

    정규 표현식은 텍스트에서 숫자와 같은 패턴을 찾는 강력한 도구이기 때문에 사용됩니다. 정규 표현식은 기호(예: 통화 기호 $)가 있는 숫자를 처리할 수 있어 과정을 더 유연하게 만듭니다.

일반적인 문제 및 그것들을 해결하는 방법

복잡한 PDF 구조에서 깨끗한 데이터를 추출하는 것은 문자열 값을 발생시키며 이는 문자열을 정수로 변환하는 등 추가 처리가 필요할 수 있습니다. 다음은 몇 가지 일반적인 문제와 IronPDF가 어떻게 도움이 될 수 있는지입니다:

PDF의 잘못된 형식

PDF는 종종 텍스트로 형식화된 숫자를 포함합니다 (예: '1,234.56' 또는 '12,345 USD'). 이들을 올바르게 처리하려면, 숫자의 문자열 표현이 구문 분석을 위한 올바른 형식인지 확인해야 합니다. IronPDF는 텍스트를 깔끔하게 추출할 수 있으며, 변환 전에 형식을 조정하기 위해 문자열 조작 메서드(예: Replace())를 사용할 수 있습니다.

예:

string formattedNumber = "1,234.56"; // String value with commas
// Remove commas from the string to clean it
string cleanNumber = formattedNumber.Replace(",", "");
// Convert the cleaned string to an integer by first converting to double then to integer
int result = Convert.ToInt32(Convert.ToDouble(cleanNumber));
Console.WriteLine(result); // Outputs: 1234
string formattedNumber = "1,234.56"; // String value with commas
// Remove commas from the string to clean it
string cleanNumber = formattedNumber.Replace(",", "");
// Convert the cleaned string to an integer by first converting to double then to integer
int result = Convert.ToInt32(Convert.ToDouble(cleanNumber));
Console.WriteLine(result); // Outputs: 1234
Dim formattedNumber As String = "1,234.56" ' String value with commas
' Remove commas from the string to clean it
Dim cleanNumber As String = formattedNumber.Replace(",", "")
' Convert the cleaned string to an integer by first converting to double then to integer
Dim result As Integer = Convert.ToInt32(Convert.ToDouble(cleanNumber))
Console.WriteLine(result) ' Outputs: 1234
$vbLabelText   $csharpLabel

텍스트에서 여러 숫자 값 처리

복잡한 PDF에서는 다양한 형식으로 표시되거나 서로 다른 위치에 흩어져 있는 숫자 값이 나타날 수 있습니다. IronPDF를 사용하면 모든 텍스트를 추출한 후 정규 표현식을 사용하여 문자열을 효과적으로 정수로 변환할 수 있습니다.

결론

C#에서 정수를 파싱하는 것은 특히 사용자 입력 또는 다양한 소스에서 데이터 추출을 다룰 때 개발자에게 필수 기술입니다. 내장 메서드 int.Parse()Convert.ToInt32()는 유용하지만, PDF에 포함된 텍스트와 같은 비정형 또는 반정형 데이터를 처리하는 것은 추가적인 도전 과제를 제시할 수 있습니다. 이때 IronPDF가 텍스트를 추출하고 .NET 애플리케이션에서 작업할 수 있는 강력하면서도 간단한 솔루션을 제공합니다.

IronPDF를 사용하면, 스캔한 문서 등을 포함한 복잡한 PDF에서 텍스트를 쉽게 추출하고 그 데이터를 유용한 숫자 값으로 변환할 수 있는 기능을 얻을 수 있습니다. IronPDF는 스캔된 PDF를 위한 OCR 기능과 강력한 텍스트 추출 도구를 제공하여 까다로운 형식에서도 데이터 처리 과정을 간소화할 수 있습니다.

청구서, 재무 보고서, 혹은 숫자 데이터를 포함한 다른 문서를 다루던 간에 C#의 ParseInt 메서드와 IronPDF를 결합하면 더 효율적이고 정확하게 작업할 수 있습니다.

복잡한 PDF가 개발 프로세스를 지연시키지 않도록 하세요—IronPDF를 사용해 보는 것은 IronPDF가 워크플로우를 어떻게 개선할 수 있는지 탐색할 수 있는 완벽한 기회입니다. 한번 사용해 보고 다음 프로젝트를 어떻게 간소화할 수 있는지 알아보세요.

자주 묻는 질문

C#에서 문자열을 정수로 변환할 수 있는 방법은 무엇인가요?

C#에서는 int.Parse() 메서드 또는 Convert.ToInt32()를 사용하여 문자열을 정수로 변환할 수 있습니다. int.Parse() 메서드는 문자열이 유효한 정수가 아닌 경우 예외를 발생시키지만, Convert.ToInt32()는 null 입력에 대해 0을 반환합니다.

int.Parse()와 Convert.ToInt32()의 차이점은 무엇입니까?

int.Parse()는 문자열을 정수로 직접 변환하는 데 사용되며 잘못된 형식에 대해 예외를 발생시킵니다. Convert.ToInt32()는 null 값을 0으로 반환하여 처리할 수 있어 특정 응용 프로그램에서 더 안전합니다.

int.TryParse()는 구문 분석 중 오류 처리를 어떻게 향상시킵니까?

int.TryParse()는 변환의 성공 또는 실패를 나타내는 부울을 반환하고, 잘못된 입력에 대해 예외를 발생시키지 않고 결과를 저장할 out 매개변수를 사용함으로써 오류 처리 기능을 향상시킵니다.

IronPDF가 구문 분석을 위한 PDF에서 텍스트를 추출하는 데 어떻게 도움이 됩니까?

IronPDF는 텍스트 및 이미지 추출과 같은 강력한 기능을 제공하여 PDF에서 텍스트를 쉽게 추출하고, 이를 C#으로 숫자 값으로 구문 분석할 수 있도록 간편하게 합니다.

IronPDF와 같은 PDF 라이브러리를 설치하는 데 필요한 단계는 무엇입니까?

IronPDF를 설치하려면 Visual Studio의 NuGet 패키지 관리자 콘솔을 사용하여 Install-Package IronPdf 명령을 실행하거나 NuGet 패키지 관리자 창을 사용하여 라이브러리를 검색하고 설치하십시오.

PDF에서 숫자 데이터를 구문 분석할 때 발생할 수 있는 과제는 무엇입니까?

PDF에서 숫자 데이터를 구문 분석하는 것은 쉼표 및 다양한 숫자 패턴과 같은 형식 문제로 인해 까다로울 수 있습니다. IronPDF는 청결한 텍스트 추출을 가능하게 하여 정규 표현식으로 처리할 수 있습니다.

정규 표현식이 PDF에서 숫자 데이터 추출에 어떻게 도움이 됩니까?

정규 표현식은 개발자가 기호가 있는 숫자와 같은 텍스트 패턴을 식별할 수 있게 하여 IronPDF를 사용하여 추출한 PDF 텍스트에서 숫자 데이터를 추출하고 변환하는 데 도움이 됩니다.

스캔한 PDF 문서에서 텍스트를 추출할 수 있습니까?

예, IronPDF에는 스캔한 PDF에서 텍스트를 추출하고, 스캔한 이미지를 편집 가능한 검색 가능한 텍스트로 변환할 수 있는 OCR(광학 문자 인식) 기능이 포함되어 있습니다.

IronPDF와 정규 표현식을 사용할 때 어떤 이점이 있습니까?

정규 표현식은 유연한 텍스트 검색 및 패턴 매칭을 가능하게 하여 IronPDF를 보강하며, 복잡한 텍스트 추출 시나리오를 처리하는 데 필수적입니다. 이는 숫자를 찾고 변환하는 데 유용합니다.

제이콥 멜러, 팀 아이언 최고기술책임자
최고기술책임자

제이콥 멜러는 Iron Software의 최고 기술 책임자(CTO)이자 C# PDF 기술을 개척한 선구적인 엔지니어입니다. Iron Software의 핵심 코드베이스를 최초로 개발한 그는 창립 초기부터 회사의 제품 아키텍처를 설계해 왔으며, CEO인 캐머런 리밍턴과 함께 회사를 NASA, 테슬라, 그리고 전 세계 정부 기관에 서비스를 제공하는 50명 이상의 직원을 보유한 기업으로 성장시켰습니다.

제이콥은 맨체스터 대학교에서 토목공학 학사 학위(BEng)를 최우등으로 취득했습니다(1998~2001). 1999년 런던에서 첫 소프트웨어 회사를 설립하고 2005년 첫 .NET 컴포넌트를 개발한 후, 마이크로소프트 생태계 전반에 걸쳐 복잡한 문제를 해결하는 데 전문성을 발휘해 왔습니다.

그의 대표 제품인 IronPDF 및 Iron Suite .NET 라이브러리는 전 세계적으로 3천만 건 이상의 NuGet 설치 수를 기록했으며, 그의 핵심 코드는 전 세계 개발자들이 사용하는 다양한 도구에 지속적으로 활용되고 있습니다. 25년의 실무 경험과 41년의 코딩 전문성을 바탕으로, 제이콥은 차세대 기술 리더들을 양성하는 동시에 기업 수준의 C#, Java, Python PDF 기술 혁신을 주도하는 데 주력하고 있습니다.

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해