c convert string int using parse
Tutorial sobre cómo convertir cadenas a int en C #. Aprenderá múltiples métodos de conversión como Parse, TryParse y Convert según los requisitos:
La mayoría de nosotros hemos estado en esta situación de vez en cuando cuando necesitamos convertir una cadena en un tipo de datos entero.
Por ejemplo, digamos que recibo una cadena '99' de una fuente de datos (de la base de datos, entrada del usuario, etc.) pero la necesitamos como un número entero para realizar algunos cálculos, aquí, primero tendremos que convertirlo en un número entero antes de comenzar algunas operaciones aritméticas.
Hay varias formas de hacer esto y veamos algunos de los métodos más utilizados.
=> Vea la serie completa de capacitación de C # aquí
Lo que vas a aprender:
- Método Int.Parse
- Método System.Convert
- int. TryParse Method
- Conversión de una cadena no numérica en un entero
- Conclusión
- Lectura recomendada
Método Int.Parse
El método Int.Parse funciona de maravilla si está seguro de que su conversión nunca arrojará un error. Esta es una de las formas más fáciles y sencillas de convertir una cadena en un número entero. Puede generar un error si la conversión no se realiza correctamente.
Este método se usa principalmente cuando tiene un número entero en forma de cadena. Por ejemplo, recibe un número de cadena de una entrada de usuario como '99'. Probemos un programa simple para convertir esta cadena en un número entero.
Programa
Programa de clase pública
|_+_|Producción
La salida del programa anterior:
99
Explicación
El programa devolverá el valor numérico de la cadena.
La parte complicada de usar el método int.Parse es el problema de arrojar un error si la cadena no tiene el formato correcto, es decir, si una cadena contiene caracteres que no sean números.
Si hay algún carácter que no sea un número, este método arrojará el siguiente error:
|_+_|Método System.Convert
Otra forma de convertir una cadena en un número entero es mediante el método Convert. Este método no es tan simple como el método anterior ya que debemos estar preparados para manejar cualquier excepción que pueda ocurrir debido a que el programa interactúa con datos erróneos.
Las excepciones también pueden consumir mucha memoria, por lo que no es recomendable encontrar ninguna excepción deseada o no deseada durante el flujo de ejecución. Por ejemplo, si ocurre una excepción en un bucle, se consumirá mucha memoria al lanzarlos y, por lo tanto, ralentizará su programa.
Usar el método Convert es bastante útil si desea saber la razón detrás del error del análisis. Puede detectar la excepción y mostrar los detalles de la falla.
Programa
|_+_|Producción
'El int convertido es: 123'
Explicación
análisis de causa raíz en pruebas de software
En el programa anterior, usamos el método de conversión para convertir una cadena en un número entero. Aquí, si la variable String es numérica, entonces se convertirá en un número entero, pero en caso de una cadena errónea, arrojará una excepción que será manejada por el bloque catch.
int. TryParse Method
Una de las formas más comunes de analizar una representación de cadena en un entero de 32 bits es mediante el método TryParse. Este método no considera ningún espacio en blanco antes o después de la cadena, pero todos los demás caracteres de la cadena deben ser de un tipo numérico apropiado para facilitar una conversión.
Por ejemplo, cualquier espacio en blanco, alfabeto o carácter especial dentro de la variable puede provocar un error.
El método TryParse acepta dos parámetros, el primero es la cadena que el usuario desea convertir y el segundo parámetro es la palabra clave 'out' seguida de la variable en la que desea almacenar el valor. Devolverá un valor basado en el éxito o el fracaso de la conversión.
|_+_|Echemos un vistazo a un programa simple para convertir una cadena numérica en un entero.
Programa
|_+_|Producción
El valor entero es 999
Explicación
En el programa anterior, hemos utilizado 'TryParse' para convertir la cadena numérica en un entero. Primero, definimos una variable de cadena que necesitamos convertir. Luego inicializamos otra variable “numérica” de tipo integer. Luego usamos una variable booleana para almacenar el valor de retorno del análisis de prueba.
Si devuelve verdadero, significa que la cadena se ha convertido correctamente en un número entero. Si devuelve falso, entonces hay algún problema con la cadena de entrada. Hemos rodeado todo el fragmento de programa dentro del bloque try-catch para manejar cualquier excepción que pueda ocurrir.
Conversión de una cadena no numérica en un entero
En todos los programas anteriores, intentamos convertir el valor de la cadena numérica en un número entero, pero en el escenario del mundo real, la mayoría de las veces tenemos que manejar cadenas que contienen caracteres especiales, alfabetos y números. Si queremos obtener solo el valor numérico, puede ser un poco difícil.
Por ejemplo, tenemos una cadena de precio con un valor de $ 100 y necesitamos obtener el precio en números enteros. En este caso, si intentamos usar cualquiera de los enfoques discutidos anteriormente, obtendremos una excepción.
Estos tipos de escenarios se pueden manejar fácilmente usando un bucle for y una expresión regular después de dividir una cadena en una matriz de caracteres.
Echemos un vistazo al programa:
|_+_|Producción
El valor numérico del precio es: 100
Explicación:
En el código anterior, tenemos una variable de precio del tipo de datos de cadena. Luego definimos e inicializamos otra variable de cadena priceNumeric. La idea es usarlo para contener la parte numérica de la variable de precio.
A continuación, usamos un bucle for para verificar cada carácter en la cadena en busca de números. Para hacer esto, primero obtuvimos los caracteres en la variable ch usando index. Luego usamos la expresión regex para verificar si el carácter que elegimos de la cadena coincide con algún dígito numérico o no. (La expresión ' d' de Regex denota la coincidencia con un solo dígito numérico).
Luego concatenamos y almacenamos la cadena numérica en la variable priceNumeric. Una vez que finalice el ciclo, todas sus cadenas numéricas se agregarán a esta variable y se eliminarán todos los demás caracteres, incluidos los caracteres especiales, alfabetos, etc.
Como sabemos, esta cadena ahora contiene solo los caracteres numéricos, y podemos usar directamente la conversión para transformar esta cadena en un entero.
Conclusión
En este tutorial, aprendimos cómo convertir una cadena en un número entero. También aprendimos a usar los diferentes métodos que se pueden usar para la conversión según el requisito.
Lectura sugerida = >> Cómo convertir String a Integer en Java Y Cómo convertir un entero a una cadena en Java
A continuación, discutimos un programa para convertir cadenas con caracteres especiales o alfabetos en un número entero eliminando las partes que no son números enteros. Este programa de ejemplo se puede modificar según los requisitos del usuario y se puede utilizar para recuperar datos numéricos de cualquier cadena.
=> Lea la guía de C # para principiantes aquí
Lectura recomendada
- Tutorial de cadenas de C #: métodos de cadena con ejemplos de código
- Tutorial Java String con String Buffer y String Builder
- Hilos de Java con métodos y ciclo de vida
- Funciones de cadena de Python
- Tutorial de división de cadenas de Python
- Aprenda a utilizar la clase StringBuilder de C # y sus métodos con ejemplos
- Scripting avanzado de Unix Shell: matrices, operadores de prueba de cadenas y archivos, variables especiales
- Generador de números aleatorios de C # y cadenas de caracteres aleatorios de C # con ejemplos de código