c convert string int using parse
Handledning om hur man konverterar sträng till int i C #. Du kommer att lära dig flera omvandlingsmetoder som att analysera, TryParse och konvertera baserat på kraven:
De flesta av oss har varit i den här situationen då och då när vi behöver konvertera en sträng till en heltal datatyp.
Till exempel, låt oss säga att jag får en sträng '99' från en datakälla (från databasen, användarinmatning, etc) men vi behöver det som ett heltal för att utföra några beräkningar, här måste vi först konvertera det till ett heltal innan vi börjar några aritmetiska operationer.
Det finns flera sätt att göra detta, och låt oss titta på några av de allmänt använda metoderna.
=> Kolla in hela C # träningsserien här
bästa appen för att spionera på någon telefon
Vad du kommer att lära dig:
- Int.Parse Method
- System.Convert-metod
- int.TryParse Method
- Konvertera icke-numerisk sträng till heltal
- Slutsats
- Rekommenderad läsning
Int.Parse Method
Int.Parse-metoden fungerar som underverk om du är säker på att din konvertering aldrig kommer att orsaka ett fel. Detta är ett av det enklaste och enklaste sättet att konvertera en sträng till ett heltal. Det kan orsaka ett fel om konverteringen inte lyckas.
Denna metod används främst när du har ett heltal i form av sträng. Till exempel, du får ett strängnummer från en användarinmatning som “99”. Låt oss prova ett enkelt program för att konvertera den här strängen till ett heltal.
Program
offentligt klassprogram
{ public static void Main() { String str = '99'; int number = int.Parse(str); Console.WriteLine(number); } }
Produktion
Resultatet från ovanstående program:
99
Förklaring
Programmet returnerar det numeriska värdet för strängen.
Den knepiga delen med att använda int.Parse-metoden är problemet med att kasta ett fel om strängen inte är i rätt format, dvs. om en sträng innehåller andra tecken än siffror.
Om någon annan karaktär än siffra finns kommer den här metoden att kasta följande fel:
“(System.FormatException: Input string was not in a correct format.)”
System.Convert-metod
Ett annat sätt att konvertera en sträng till heltal är att använda konverteringsmetoden. Denna metod är inte så enkel som den tidigare metoden eftersom vi måste vara redo att hantera alla undantag som kan uppstå på grund av att programmet interagerar med felaktiga data.
Undantag kan också konsumera mycket minne, därför är det inte tillrådligt att stöta på något önskat eller oönskat undantag under körningsflödet. Till exempel, om ett undantag inträffar i en slinga kommer mycket minne att förbrukas när du kastar dem och därmed kommer det att sakta ner ditt program.
Att använda konverteringsmetoden är ganska bra om du vill veta orsaken till misslyckandet i analysen. Det kan fånga undantaget och visa felinformation.
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
“Det konverterade intet är: 123”
Förklaring
qtp intervjufrågor och svar pdf
I ovanstående program använde vi konverteringsmetoden för att konvertera en sträng till ett heltal. Här om strängvariabeln är siffra, kommer den att konverteras till heltal men i händelse av en felaktig sträng och den kommer att kasta upp ett undantag som kommer att hanteras av fångsten.
int.TryParse Method
Ett av de vanligaste sätten att analysera en strängrepresentation i ett 32-bitars heltal är att använda TryParse-metoden. Denna metod tar inte hänsyn till något tomt utrymme före eller efter strängen, men alla andra strängtecken bör vara av lämplig numerisk typ för att underlätta en konvertering.
Till exempel, valfritt mellanslag, alfabet eller specialtecken inom variabeln kan orsaka ett fel.
TryParse-metoden accepterar två parametrar, den första är strängen som användaren vill konvertera och den andra parametern är nyckelordet 'ut' följt av variabeln där du vill lagra värdet. Det returnerar ett värde baserat på omvandlingens framgång eller misslyckande.
TryParse(String, out var)
Låt oss titta på ett enkelt program för att konvertera en numerisk sträng till ett 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ärdet är 999
Förklaring
I ovanstående program har vi använt 'TryParse' för att konvertera den numeriska strängen till ett heltal. Först definierade vi en strängvariabel som vi behöver konvertera. Sedan initierade vi en annan variabel 'numerisk' av typen heltal. Då använde vi en boolesk variabel för att lagra returvärdet för försöket.
Om det returnerar sant betyder det att strängen har konverterats framgångsrikt till ett heltal. Om det returnerar falskt är det något problem med inmatningssträngen. Vi har omringat hela programavsnittet inuti try-catch-blocket för att hantera eventuella undantag.
Konvertera icke-numerisk sträng till heltal
I alla ovanstående program försökte vi konvertera det numeriska strängvärdet till heltal, men i det verkliga världsscenariot måste vi hantera strängar som innehåller specialtecken, alfabet tillsammans med siffrorna. Om vi bara vill få det numeriska värdet kan det vara lite svårt.
Till exempel, vi har en prissträng med värdet $ 100 och vi måste få priset i heltal. I det här fallet, om vi försöker använda någon av de ovan diskuterade metoderna, får vi ett undantag.
Dessa typer av scenarier kan hanteras enkelt genom att använda en for loop och regex efter att ha delat en sträng i en rad tecken.
Låt oss titta på programmet:
class Program { static void Main(string() args) { string price = '0'; string priceNumeric = ''; for(inti =0; i Produktion
Prisets numeriska värde är: 100
Förklaring:
vad är en 7z-fil mac
I ovanstående kod har vi en prisvariabel av strängdatatypen. Sedan definierar och initialiserar vi en annan strängvariabel priceNumeric. Tanken är att använda den för att hålla den numeriska delen av prisvariabeln.
Därefter använde vi en for-loop för att kontrollera varje enskilt tecken i strängen för siffror. För att göra detta hämtade vi först tecknen i variabel ch genom att använda index. Sedan använde vi regex-uttryck för att kontrollera om tecknet som vi valde från strängen matchar någon siffra eller inte. (' D' uttryck för Regex betecknar matchning med en enda numerisk siffra.).
Sedan sammanfogar vi och lagrar siffersträngen i variabeln priceNumeric. När slingan är klar kommer alla dina numeriska strängar att läggas till i denna variabel och alla andra tecken inklusive specialtecken, alfabet etc. tas bort.
Som vi vet innehåller den här strängen nu bara de numeriska tecknen, och vi kan direkt använda konverteringen för att förvandla denna sträng till ett heltal.
Slutsats
I denna handledning lärde vi oss hur vi kan konvertera en sträng till ett heltal. Vi lärde oss också att använda de olika metoderna som kan användas för konvertering baserat på kravet.
Föreslagen läsning = >> Hur konverterar jag sträng till heltal i Java Och Hur konverterar jag heltal till sträng i Java
Därefter diskuterade vi ett program för att konvertera strängar med specialtecken eller alfabet till ett heltal genom att ta bort de icke-heltaliga delarna. Detta exempelprogram kan justeras enligt användarkrav och kan användas för att hämta numerisk data från valfri sträng.
=> Läs igenom C # -guiden för nybörjare här
Rekommenderad läsning
- C # Stränghandledning - Strängmetoder med kodexempel
- Java String med String Buffer och String Builder Tutorial
- Java-trådar med metoder och livscykel
- Python-strängfunktioner
- Python String Split Tutorial
- Lär dig att använda C # StringBuilder-klass och dess metoder med exempel
- Avancerat Unix Shell-skript: Arrayer, fil- och strängtestoperatörer, speciella variabler
- C # slumpmässigt nummer och C # slumpmässig stränggenerator med kodexempel