c convert string int using parse
Vejledning i, hvordan du konverterer streng til int i C #. Du lærer flere konverteringsmetoder som Parse, TryParse & Convert baseret på kravene:
timeseddelingsapp til Android og iPhone
De fleste af os har været i denne situation en gang imellem, når vi har brug for at konvertere en streng til en heltal datatype.
For eksempel, lad os sige, at jeg modtager en streng '99' fra en datakilde (fra databasen, brugerinput osv.), men vi har brug for det som et heltal for at udføre nogle beregninger, her skal vi først konvertere det til et heltal, inden vi starter nogle aritmetiske operationer.
Der er flere måder at gøre dette på, og lad os se på et par af de meget anvendte metoder.
=> Tjek den fulde C # træningsserie her
Hvad du vil lære:
- Int.Parse metode
- System.Convert-metode
- int.TryParse-metode
- Konvertering af ikke-numerisk streng til heltal
- Konklusion
- Anbefalet læsning
Int.Parse metode
Int.Parse-metoden fungerer som vidundere, hvis du er sikker på, at din konvertering aldrig vil kaste en fejl. Dette er en af den nemmeste og enkleste måde at konvertere en streng til et heltal. Det kan medføre en fejl, hvis konverteringen ikke lykkes.
Denne metode bruges hovedsageligt, når du har et heltal i form af streng. For eksempel, du modtager et strengtal fra en brugerinput som “99”. Lad os prøve et simpelt program til at konvertere denne streng til et heltal.
Program
offentligt klasseprogram
{ public static void Main() { String str = '99'; int number = int.Parse(str); Console.WriteLine(number); } }
Produktion
Output fra ovenstående program:
99
Forklaring
Programmet returnerer strengens numeriske værdi.
Den vanskelige del af brugen af int.Parse-metoden er problemet med at kaste en fejl, hvis strengen ikke er i et korrekt format, dvs. hvis en streng indeholder andre tegn end tal.
Hvis et andet tegn end tal er til stede, kaster denne metode følgende fejl:
“(System.FormatException: Input string was not in a correct format.)”
System.Convert-metode
En anden måde at konvertere en streng til heltal er ved hjælp af konverteringsmetoden. Denne metode er ikke så enkel som den foregående metode, da vi skal være klar til at håndtere enhver undtagelse, der måtte opstå på grund af, at programmet interagerer med fejlagtige data.
top gratis youtube til mp3 konverter
Undtagelser kan også forbruge meget hukommelse, og det er derfor ikke tilrådeligt at støde på nogen ønsket eller uønsket undtagelse under udførelsesstrømmen. For eksempel, hvis en undtagelse forekommer i en løkke, vil der blive brugt meget hukommelse ved at kaste dem, og det vil derfor bremse dit program.
Brug af konverteringsmetoden er ret nyttigt, hvis du vil vide årsagen til parseens svigt. Det kan fange undtagelsen og vise fejldetaljerne.
Program
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); } }
Produktion
“Den konverterede int er: 123”
Forklaring
I ovenstående program brugte vi konverteringsmetoden til at konvertere en streng til et heltal. Her, hvis strengvariablen er tal, så konverteres den til heltal, men i tilfælde af en fejlagtig streng, og den kaster en undtagelse, der håndteres af fangstblokken.
int.TryParse-metode
En af de mest almindelige måder at analysere en strengrepræsentation i et 32-bit heltal er ved hjælp af TryParse-metoden. Denne metode overvejer ikke noget tomt mellemrum før eller efter strengen, men alle de andre strengtegn skal være af en passende numerisk type for at lette en konvertering.
For eksempel, ethvert hvidt mellemrum, alfabet eller specialtegn i variablen kan forårsage en fejl.
TryParse-metoden accepterer to parametre, den første er den streng, som brugeren ønsker at konvertere, og den anden parameter er nøgleordet 'ud' efterfulgt af den variabel, hvor du vil gemme værdien. Den returnerer en værdi, der er baseret på konverteringens succes eller fiasko.
TryParse(String, out var)
Lad os se på et simpelt program til at konvertere en numerisk streng til et heltal.
Program
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); } } }
Produktion
Heltalsværdien er 999
Forklaring
I ovenstående program har vi brugt 'TryParse' til at konvertere den numeriske streng til et heltal. Først definerede vi en strengvariabel, som vi har brug for at konvertere. Derefter initialiserede vi en anden variabel 'numerisk' af typen heltal. Derefter brugte vi en boolsk variabel til at gemme returværdien af forsøgsparseringen.
Hvis det returnerer sandt, betyder det, at strengen er konverteret med succes til et heltal. Hvis det returnerer falsk, er der noget problem med inputstrengen. Vi har omgivet hele programuddraget inde i prøvefangstblokken for at håndtere enhver undtagelse, der måtte opstå.
Konvertering af ikke-numerisk streng til heltal
I alle ovennævnte programmer forsøgte vi at konvertere den numeriske strengværdi til heltal, men i det virkelige verdensscenario skal vi mest af tiden håndtere strenge, der indeholder specialtegn, alfabeter sammen med tallene. Hvis vi kun ønsker at få den numeriske værdi, kan det være lidt svært.
For eksempel, vi har en prisstreng med en værdi på $ 100, og vi skal få prisen i heltal. I dette tilfælde, hvis vi prøver at bruge en af de ovennævnte fremgangsmåder, får vi en undtagelse.
Disse typer scenarier kan håndteres let ved hjælp af en for loop og regex efter opdeling af en streng i en række tegn.
Lad os se på programmet:
class Program { static void Main(string() args) { string price = '0'; string priceNumeric = ''; for(inti =0; i Produktion
Den numeriske pris er: 100
Forklaring:
standard gateway ikke tilgængelig windows 8
I ovenstående stykke kode har vi en prisvariabel af strengens datatype. Derefter definerer og initialiserer vi en anden strengvariabel priceNumeric. Ideen er at bruge den til at holde den numeriske del af prisvariablen.
Dernæst brugte vi en for-løkke til at kontrollere hvert enkelt tegn i strengen for tal. For at gøre dette hentede vi først tegnene i variabel ch ved hjælp af indeks. Derefter brugte vi regex-udtryk for at kontrollere, om det tegn, vi valgte fra strengen, matcher et numerisk ciffer eller ej. (' D' udtryk for Regex betegner matchning med et enkelt numerisk ciffer.).
Derefter sammenkædes og gemmes talstrengen i prisNumerisk variabel. Når løkken er færdig, føjes alle dine numeriske strenge til denne variabel, og alle andre tegn inklusive specialtegn, alfabeter osv. Fjernes.
Som vi ved, indeholder denne streng nu kun de numeriske tegn, og vi kan direkte bruge konverteren til at omdanne denne streng til et heltal.
Konklusion
I denne vejledning lærte vi, hvordan vi kan konvertere en streng til et heltal. Vi lærte også at bruge de forskellige metoder, der kan bruges til konvertering baseret på kravet.
Foreslået læsning = >> Sådan konverteres streng til heltal i Java Og Sådan konverteres heltal til streng i Java
Dernæst diskuterede vi et program til at konvertere strenge med specialtegn eller alfabeter til et helt tal ved at fjerne de ikke-heltal dele. Dette eksempelprogram kan finjusteres i henhold til brugerkrav og kan bruges til at hente numeriske data fra enhver streng.
=> Læs C # -guiden til begyndere her
Anbefalet læsning
- C # String Tutorial - Strengmetoder med kodeeksempler
- Java String med String Buffer og String Builder Tutorial
- Java-tråde med metoder og livscyklus
- Python-strengfunktioner
- Python String Split Tutorial
- Lær at bruge C # StringBuilder klasse og dens metoder med eksempler
- Avanceret Unix Shell Scripting: Arrays, File and String Test Operators, Special Variables
- C # tilfældigt nummer og C # tilfældig strenggenerator med kodeeksempler