AYUDA .NET

Parse String to Int C# (Cómo funciona para desarrolladores)

Actualizado 6 de junio, 2024
Compartir:

Conversión de tipos de datos es un concepto fundamental en programación, y cuando se programa en C#, una de las tareas más comunes es convertir una representación de cadena de un número en un número entero. Este proceso es útil en muchas aplicaciones en las que la entrada del usuario o los datos de una fuente externa deben transformarse a un formato numérico para realizar cálculos u otras operaciones.

En este tutorial, exploraremos diferentes métodos proporcionados por C# para convertir cadenas a enteros. También exploraremos la Biblioteca IronPDF.

Conceptos básicos de la conversión de variables de cadena a int

Los métodos Convert.ToInt32 e Int32.Parse son herramientas estándar en C# para convertir un valor de cadena en un valor entero. Estas funciones están diseñadas para interpretar el valor numérico de una cadena de entrada y transformarlo en un int. Sin embargo, estos métodos pueden lanzar excepciones si la cadena no está en el formato correcto, lo que hace que el manejo de excepciones sea un aspecto esencial del uso de estas herramientas.

Uso del método `Int32.Parse

El método Int32.Parse convierte directamente una cadena numérica válida en un número entero. Requiere que la cadena tenga un formato numérico válido; de lo contrario, lanzará una FormatException. Este método es sencillo cuando se está seguro de que la cadena es un número válido. Por ejemplo:

public static string inputString = "123";
public static int result = int.Parse(inputString);
Console.WriteLine(result);
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)
VB   C#

En el código anterior, inputString contiene un número válido, y el método Parse lo convierte en el entero 123. Sin embargo, si inputString incluye caracteres no numéricos o es una cadena vacía, el uso de Parse dará lugar a una FormatException o ArgumentNullException.

Uso del método `Convert.ToInt32

Otra clase de conversión para convertir una cadena a un entero es Convert.ToInt32. Este método es similar a Int32.Parse pero proporciona un poco más de flexibilidad. Entender cómo convertir cadena a int en C# abre de forma eficaz numerosas posibilidades para la manipulación de datos y garantiza un sólido rendimiento de la aplicación. Maneja las cadenas nulas y vacías devolviendo un valor por defecto de cero, lo que evita lanzar una excepción. A continuación te explicamos cómo utilizarlo:

public static string inputString = null;
public static int result = Convert.ToInt32(inputString);
Console.WriteLine(result);
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)
VB   C#

Este método convertirá inputString a 0 sin lanzar una excepción, haciéndolo más seguro para variables que podrían no estar correctamente inicializadas.

Técnicas avanzadas con Int32.TryParse.

Para un mejor control sobre el proceso de conversión, especialmente cuando se trata de entradas de usuario que pueden no ser fiables, Int32.TryParse es un método preferido. Este método intenta analizar cadenas numéricas y devuelve un valor booleano que indica si el método TryParse ha conseguido convertir la cadena en un número entero. Utiliza un parámetro out para devolver el entero convertido.

Ejemplo de uso de Int32.TryParse.

A continuación se explica cómo utilizar el método Int32.TryParse para convertir de forma segura una cadena de texto en un valor entero, manejando con elegancia cualquier cadena de texto no válida:

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.");
}
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 If
VB   C#

En este ejemplo, Int32.TryParse devuelve false porque inputString no es un entero válido. El parámetro de salida num permanece 0, y el programa informa al usuario de la conversión fallida sin lanzar ninguna excepción.

Introducción a la biblioteca IronPDF

IronPDF es una robusta biblioteca de C# diseñada para simplificar la manipulación de PDF a los desarrolladores que utilizan el marco .NET. Permite la creación, edición y gestión de Documentos PDF directamente desde HTML CSS, JavaScript e imágenes. La principal característica de IronPDF es su capacidad para convertir contenidos HTML directamente en PDF.

Esto incluye la conversión de páginas web enteras o cadenas HTML, lo que le confiere una gran flexibilidad. IronPDF está diseñado para ser a la vez potente y fácil de integrar, y es compatible con diversos entornos de desarrollo.

Ejemplo de código

He aquí un sencillo ejemplo que combina IronPDF para la generación de PDF con código C# para convertir una cadena en un número entero y mostrarlo en el PDF. Este ejemplo supone que usted desea tomar una cadena numérica, convertirla en un número entero, y luego imprimir el número entero en un documento PDF utilizando IronPDF.

using IronPdf;
using System;
class Program
{
    static void Main(string[] args)
    {
        License.LicenseKey = "Your-License-Key";
        //  Crear un nuevo documento PDF
        var pdf = new ChromePdfRenderer();
        //  Cadena de muestra que representa un número entero
        string numberString = "12345";
        //  Convierte la cadena en un número entero
        int number;
        bool result = Int32.TryParse(numberString, out number);
        if (result)
        {
            //  Crear contenido HTML que incluya el número analizado
            string htmlContent = $"<h1>The number is: {number}</h1>";
            //  Generar un PDF a partir de la cadena HTML
            var document = pdf.RenderHtmlAsPdf(htmlContent);
            //  Guardar el PDF en un archivo
            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.");
        }
    }
}
using IronPdf;
using System;
class Program
{
    static void Main(string[] args)
    {
        License.LicenseKey = "Your-License-Key";
        //  Crear un nuevo documento PDF
        var pdf = new ChromePdfRenderer();
        //  Cadena de muestra que representa un número entero
        string numberString = "12345";
        //  Convierte la cadena en un número entero
        int number;
        bool result = Int32.TryParse(numberString, out number);
        if (result)
        {
            //  Crear contenido HTML que incluya el número analizado
            string htmlContent = $"<h1>The number is: {number}</h1>";
            //  Generar un PDF a partir de la cadena HTML
            var document = pdf.RenderHtmlAsPdf(htmlContent);
            //  Guardar el PDF en un archivo
            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.LicenseKey = "Your-License-Key"
		'  Crear un nuevo documento PDF
		Dim pdf = New ChromePdfRenderer()
		'  Cadena de muestra que representa un número entero
		Dim numberString As String = "12345"
		'  Convierte la cadena en un número entero
		Dim number As Integer = Nothing
		Dim result As Boolean = Int32.TryParse(numberString, number)
		If result Then
			'  Crear contenido HTML que incluya el número analizado
			Dim htmlContent As String = $"<h1>The number is: {number}</h1>"
			'  Generar un PDF a partir de la cadena HTML
			Dim document = pdf.RenderHtmlAsPdf(htmlContent)
			'  Guardar el PDF en un archivo
			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
VB   C#

Parse String to Int C# (Cómo funciona para desarrolladores): Figura 1 - PDF resultante del ejemplo de código anterior

Conclusión

La conversión de cadenas a números enteros es un requisito común en la programación en C#, especialmente cuando se trata de datos introducidos por usuarios o fuentes externas. Entender las diferencias entre los métodos Int32.Parse, Convert.ToInt32, y TryParse es esencial para escribir código robusto y resistente a errores.

Si utiliza estos métodos de forma eficaz, se asegurará de que sus aplicaciones puedan manejar varios formatos de entrada y responder con elegancia a los datos no válidos. IronPDF para que los usuarios exploren sus características antes de comprometerse a una compra. Para quienes deseen integrar IronPDF en sus proyectos a largo plazo, licencias comienza a partir de $749.

< ANTERIOR
Ejemplo de Rebus .NET Core (Cómo funciona para los desarrolladores)
SIGUIENTE >
C# Call Base Constructor (Cómo Funciona Para Desarrolladores)

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,848,088 Ver licencias >
123