
Parsowanie ciągu znaków na liczbę całkowitą w języku C# (jak to działa dla programistów)
Konwersja typów danych jest podstawową koncepcją w programowaniu, a podczas programowania w języku C# jednym z najczęstszych zadań jest konwersja reprezentacji liczby w postaci ciągu znaków na liczbę całkowitą. Proces ten jest przydatny w wielu aplikacjach, w których dane wprowadzane przez użytkownika lub dane z zewnętrznego źródła muszą zostać przekształcone do formatu numerycznego w celu wykonania obliczeń lub innych operacji.
W tym samouczku omówimy różne metody oferowane przez język C# do konwersji ciągów znaków na liczby całkowite. Zapoznamy się również ze stroną główną biblioteki IronPDF.
Podstawy konwersji zmiennych typu String na typ Int
Metody Convert.ToInt32 i Int32.Parse są standardowymi narzędziami w C# do konwersji wartości tekstowej na wartość całkowitą. Funkcje te służą do interpretacji wartości liczbowej ciągu znaków i przekształcania jej w liczbę całkowitą typu int. Jednak metody te mogą generować wyjątki, jeśli ciąg znaków nie ma prawidłowego formatu, co sprawia, że obsługa wyjątków jest istotnym aspektem korzystania z tych narzędzi.
Używanie metody Int32.Parse
Metoda Int32.Parse bezpośrednio konwertuje prawidłowy ciąg liczbowy na liczbę całkowitą. Wymaga, aby ciąg znaków miał prawidłowy format liczbowy; w przeciwnym razie zgłosi FormatException. Ta metoda jest prosta, gdy masz pewność, że ciąg znaków jest prawidłową liczbą. Na przykład:
public static string inputString = "123";
public static int result = int.Parse(inputString);
Console.WriteLine(result);Public Shared inputString As String = "123"
Public Shared result As Integer = Integer.Parse(inputString)
Console.WriteLine(result)W powyższym kodzie inputString zawiera prawidłową liczbę, a metoda Parse konwertuje ją na liczbę całkowitą 123. Jednak jeśli inputString zawiera znaki nieliczbowe lub jest pustym ciągiem, użycie Parse spowoduje FormatException lub ArgumentNullException.
Używanie metody Convert.ToInt32
Inną metodą konwersji ciągu na liczbę całkowitą jest Convert.ToInt32. Ta metoda jest podobna do Int32.Parse, ale oferuje nieco większą elastyczność. Obsługuje wartości null i puste ciągi znaków, zwracając domyślną wartość zero, co pozwala uniknąć wygenerowania wyjątku. Oto jak można z niego korzystać:
public static string inputString = null;
public static int result = Convert.ToInt32(inputString);
Console.WriteLine(result);Public Shared inputString As String = Nothing
Public Shared result As Integer = Convert.ToInt32(inputString)
Console.WriteLine(result)Ta metoda zamieni inputString na 0, nie podnosząc wyjątku, co sprawia, że jest bezpieczniejsza dla zmiennych, które mogą nie być poprawnie zainicjalizowane.
Zaawansowane techniki z Int32.TryParse
Dla lepszej kontroli nad procesem konwersji, zwłaszcza w przypadku niedokładnych danych wejściowych od użytkownika, metoda Int32.TryParse jest preferowaną metodą. Ta metoda próbuje przeanalizować ciągi liczbowe i zwraca wartość logiczną wskazującą, czy metoda TryParse pomyślnie przekształciła ciąg w liczbę całkowitą. Używa parametru wyjściowego, aby zwrócić przekonwertowaną liczbę całkowitą.
Przykład użycia Int32.TryParse
Oto, jak można użyć metody Int32.TryParse, aby bezpiecznie przekształcić dane wejściowe tekstowe na wartość całkowitą, łagodnie obchodząc się z nieprawidłowymi danymi wejściowymi tekstowymi:
string inputString = "abc123";
int num;
bool conversionSucceeded = int.TryParse(inputString, out num);
if (conversionSucceeded)
{
Console.WriteLine("Successfully parsed: " + num);
}
else
{
Console.WriteLine("Conversion failed. Provided string is not a valid integer.");
}Dim inputString As String = "abc123"
Dim num As Integer = Nothing
Dim conversionSucceeded As Boolean = Integer.TryParse(inputString, num)
If conversionSucceeded Then
Console.WriteLine("Successfully parsed: " & num)
Else
Console.WriteLine("Conversion failed. Provided string is not a valid integer.")
End IfW tym przykładzie Int32.TryParse zwraca fałsz, ponieważ inputString nie jest prawidłową liczbą całkowitą. Parametr out num pozostaje 0, a program informuje użytkownika o nieudanej konwersji bez zgłaszania wyjątków.
Wprowadzenie do biblioteki IronPDF
Sekcja "Przegląd IronPDF" to solidna biblioteka C# zaprojektowana w celu uproszczenia operacji na plikach PDF dla programistów korzystających z .NET Framework. Umożliwia tworzenie, edycję i zarządzanie dokumentami PDF bezpośrednio z poziomu HTML, CSS, JavaScript i obrazów. Główną cechą IronPDF jest możliwość bezpośredniej konwersji treści HTML do formatu PDF.
Obejmuje to konwersję całych stron internetowych lub ciągów HTML, co zapewnia dużą elastyczność. IronPDF został zaprojektowany tak, aby był zarówno wydajny, jak i łatwy do zintegrowania, z obsługą różnych środowisk programistycznych.
Przykład kodu
Oto prosty przykład, który łączy IronPDF do generowania plików PDF z kodem C# w celu parsowania ciągu znaków na liczbę całkowitą i wyświetlenia jej w pliku PDF. W tym przykładzie zakładamy, że chcesz pobrać ciąg liczbowy, przekonwertować go na liczbę całkowitą, a następnie wydrukować tę liczbę w dokumencie PDF przy użyciu IronPDF.
using IronPdf;
using System;
class Program
{
static void Main(string[] args)
{
// License your IronPdf installation
License.LicenseKey = "Your-License-Key";
// Create a new PDF document
var pdf = new ChromePdfRenderer();
// Sample string that represents an integer
string numberString = "12345";
// Attempt to parse the string into an integer
int number;
bool result = Int32.TryParse(numberString, out number);
if (result)
{
// Create HTML content including the parsed number
string htmlContent = $"<h1>The number is: {number}</h1>";
// Generate a PDF from the HTML string
var document = pdf.RenderHtmlAsPdf(htmlContent);
// Save the PDF to a file
document.SaveAs("Output.pdf");
Console.WriteLine("PDF generated successfully with the number included.");
}
else
{
Console.WriteLine("The string could not be parsed into an integer.");
}
}
}Imports IronPdf
Imports System
Friend Class Program
Shared Sub Main(ByVal args() As String)
' License your IronPdf installation
License.LicenseKey = "Your-License-Key"
' Create a new PDF document
Dim pdf = New ChromePdfRenderer()
' Sample string that represents an integer
Dim numberString As String = "12345"
' Attempt to parse the string into an integer
Dim number As Integer = Nothing
Dim result As Boolean = Int32.TryParse(numberString, number)
If result Then
' Create HTML content including the parsed number
Dim htmlContent As String = $"<h1>The number is: {number}</h1>"
' Generate a PDF from the HTML string
Dim document = pdf.RenderHtmlAsPdf(htmlContent)
' Save the PDF to a file
document.SaveAs("Output.pdf")
Console.WriteLine("PDF generated successfully with the number included.")
Else
Console.WriteLine("The string could not be parsed into an integer.")
End If
End Sub
End Class
Wnioski
Konwersja ciągów znaków na liczby całkowite jest częstym wymaganiem w programowaniu w języku C#, zwłaszcza w przypadku danych wprowadzanych przez użytkowników lub pochodzących ze źródeł zewnętrznych. Zrozumienie różnic między metodami Int32.Parse, Convert.ToInt32 i TryParse jest kluczowe dla pisania odpornego i bezbłędnego kodu.
Dzięki skutecznemu wykorzystaniu tych metod możesz mieć pewność, że Twoje aplikacje będą obsługiwać różne formaty danych wejściowych i poprawnie reagować na nieprawidłowe dane. Skorzystaj z bezpłatnej licencji próbnej IronPDF, aby zapoznać się z jego funkcjami przed podjęciem decyzji o zakupie. Dla tych, którzy chcą długoterminowo zintegrować IronPDF z ich projektami, Opcje Licencjonowania IronPDF zaczynają się od $999.

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.
Powiązane artykuły


