c convert string int using parse
Tutorial sobre com convertir la cadena en int a C #. Aprendràs diversos mètodes de conversió, com ara Parse, TryParse i Convert, segons els requisits següents:
La majoria de nosaltres ens trobem en aquesta situació de tant en tant quan hem de convertir una cadena en un tipus de dades enter.
Per exemple, diguem que rebo una cadena '99' d'una font de dades (de la base de dades, entrada de l'usuari, etc.), però la necessitem com a enter per realitzar alguns càlculs. Primer haurem de convertir-lo en un enter abans de començar algunes operacions aritmètiques.
Hi ha diverses maneres de fer-ho i analitzem alguns dels mètodes àmpliament utilitzats.
=> Mireu aquí la sèrie completa de formació C #
Què aprendreu:
- Mètode Int.Parse
- Mètode System.Convert
- Mètode int.TryParse
- Conversió de cadenes no numèriques a enters
- Conclusió
- Lectura recomanada
Mètode Int.Parse
El mètode Int.Parse funciona com a meravelles si esteu segur que la vostra conversió mai no generarà cap error. Aquesta és una de les maneres més fàcils i senzilles de convertir una cadena en un enter. Pot provocar un error si la conversió no té èxit.
Aquest mètode s'utilitza principalment quan es té un nombre enter en forma de cadena. Per exemple, rebeu un número de cadena d'una entrada d'usuari com '99'. Provem un programa senzill per convertir aquesta cadena en un enter.
Programa
Programa de classe pública
{ public static void Main() { String str = '99'; int number = int.Parse(str); Console.WriteLine(number); } }
Sortida
La sortida del programa anterior:
99
Explicació
El programa retornarà el valor numèric de la cadena.
ulleres de realitat virtual per a Xbox 360
La part complicada de l’ús del mètode int.Parse és el problema de generar un error si la cadena no té un format correcte, és a dir, si una cadena conté caràcters diferents dels numerals.
Si hi ha algun caràcter diferent del numeral, aquest mètode generarà l'error següent:
“[System.FormatException: Input string was not in a correct format.]”
Mètode System.Convert
Una altra manera de convertir una cadena a sencer és mitjançant el mètode Converteix. Aquest mètode no és tan senzill com el mètode anterior, ja que hem d'estar preparats per gestionar qualsevol excepció que es pugui produir a causa de la interacció del programa amb dades errònies.
Les excepcions també poden consumir molta memòria, de manera que no és recomanable trobar cap excepció desitjada o no desitjada durant el flux d’execució. Per exemple, si es produeix una excepció en un bucle, es consumirà molta memòria en llançar-les i, per tant, alentirà el vostre programa.
Utilitzar el mètode Converteix és molt útil si voleu saber el motiu del fracàs de l’anàlisi. Pot detectar l'excepció i mostrar els detalls de l'error.
Programa
public class Program { public static String intString = '123'; public static void Main(string[] args) { int i = 0; try { i = System.Convert.ToInt32(intString); } catch (Exception e) { } Console.WriteLine('The converted int is : '+i); } }
Sortida
'L'int convertit és: 123'
Explicació
Al programa anterior, hem utilitzat el mètode convert per convertir una cadena en un enter. Aquí, si la variable String és numeral, es convertirà en sencer, però en cas de cadena errònia, generarà una excepció que serà gestionada pel bloc de captura.
Mètode int.TryParse
Una de les maneres més habituals d’analitzar una representació de cadena en un enter de 32 bits és mitjançant el mètode TryParse. Aquest mètode no considera cap espai en blanc abans ni després de la cadena, però tots els altres caràcters de cadena han de ser del tipus numèric adequat per facilitar la conversió.
Per exemple, qualsevol espai en blanc, alfabet o caràcter especial dins de la variable pot causar un error.
El mètode TryParse accepta dos paràmetres, el primer és la cadena que l'usuari vol convertir i el segon paràmetre és la paraula clau 'fora' seguida de la variable en què voleu emmagatzemar el valor. Retornarà un valor basat en l'èxit o el fracàs de la conversió.
TryParse(String, out var)
Vegem un programa senzill per convertir una cadena numèrica en un enter.
Programa
class Program { static void Main(string[] args) { try { string value = '999'; int numeric; bool isTrue = int.TryParse(value, out numeric); if (isTrue) { Console.WriteLine('The Integer value is ' + numeric); } } catch (FormatException e) { Console.WriteLine(e.Message); } } }
Sortida
El valor enter és 999
Explicació
Al programa anterior, hem utilitzat ‘TryParse’ per convertir la cadena numèrica en un enter. En primer lloc, hem definit una variable de cadena que hem de convertir. Després vam inicialitzar una altra variable 'numèrica' de tipus enter. A continuació, hem utilitzat una variable booleana per emmagatzemar el valor de retorn de l’anàlisi try.
Si torna cert, significa que la cadena s'ha convertit amb èxit en un enter. Si torna fals, hi ha algun problema amb la cadena d'entrada. Hem envoltat tot el fragment de programa dins del bloc try-catch per gestionar qualsevol excepció que es pugui produir.
Conversió de cadenes no numèriques a enters
En tots els programes anteriors hem intentat convertir el valor de la cadena numèrica en enter, però en l’escenari del món real la majoria de les vegades hem de manejar cadenes que contenen caràcters especials, alfabets juntament amb els números. Si volem obtenir només el valor numèric, pot ser una mica difícil.
Per exemple, tenim una cadena de preus amb un valor de 100 dòlars i hem d’obtenir el preu en enter. En aquest cas, si intentem utilitzar algun dels enfocaments comentats anteriorment, obtindrem una excepció.
Aquest tipus d’escenaris es poden gestionar fàcilment mitjançant un bucle for i una expressió regular després de dividir una cadena en una matriu de caràcters.
Fem una ullada al programa:
class Program { static void Main(string[] args) { string price = '0'; string priceNumeric = ''; for(inti =0; i Sortida
El valor numèric del preu és: 100
Explicació:
A la peça de codi anterior, tenim una variable de preu del tipus de dades de cadena. A continuació, definim i inicialitzem una altra variable de cadena priceNumeric. La idea és utilitzar-la per contenir la part numèrica de la variable de preu.
A continuació, hem utilitzat un bucle for per comprovar els números de cada caràcter de la cadena. Per fer-ho, primer hem recuperat els caràcters de la variable ch mitjançant l'índex. A continuació, hem utilitzat l'expressió d'expressió regular per comprovar si el caràcter que hem triat de la cadena coincideix o no amb algun dígit numèric. (L'expressió ' d' de Regex indica coincidència amb un sol dígit numèric.).
A continuació, concatenem i emmagatzemem la cadena numeral a la variable priceNumeric. Un cop acabat el bucle, s'afegiran totes les cadenes numèriques a aquesta variable i se suprimiran tots els altres caràcters, inclosos els caràcters especials, alfabets, etc.
Com sabem, aquesta cadena ara només conté els caràcters numèrics i podem utilitzar directament la conversió per transformar aquesta cadena en un enter.
Conclusió
En aquest tutorial, hem après com podem convertir una cadena en un enter. També hem après a utilitzar els diferents mètodes que es poden utilitzar per a la conversió en funció del requisit.
Lectura suggerida = >> Com convertir la cadena a enter a Java I Com convertir Integer a String a Java
A continuació, hem parlat d’un programa per convertir cadenes amb caràcters especials o alfabets en un enter eliminant les parts que no són enteres. Aquest programa d'exemple es pot modificar segons el requisit de l'usuari i es pot utilitzar per recuperar dades numèriques de qualsevol cadena.
=> Llegiu aquí la guia C # per a principiants
Lectura recomanada
- Tutorial de cadenes C #: mètodes de cadenes amb exemples de codi
- Java String amb buffer de cadenes i tutorial de Generador de cadenes
- Fils de Java amb mètodes i cicle de vida
- Funcions de cadena de Python
- Tutorial Python String Split
- Apreneu a utilitzar la classe C # StringBuilder i els seus mètodes amb exemples
- Scripts avançats de Shell Unix: matrius, operadors de proves de fitxers i cadenes, variables especials
- C # Número aleatori i generador de cadenes aleatòries C # amb exemples de codi