c convert string int using parse
Tutorial zum Konvertieren von Zeichenfolgen in Int in C #. Sie lernen mehrere Konvertierungsmethoden wie Parsen, TryParse und Konvertieren basierend auf den Anforderungen:
Die meisten von uns waren ab und zu in dieser Situation, wenn wir einen String in einen ganzzahligen Datentyp konvertieren müssen.
Zum Beispiel, Angenommen, ich erhalte eine Zeichenfolge '99' von einer Datenquelle (aus der Datenbank, Benutzereingaben usw.), aber wir benötigen sie als Ganzzahl, um einige Berechnungen durchzuführen. Hier müssen wir sie zuerst in eine Ganzzahl konvertieren, bevor wir beginnen einige arithmetische Operationen.
Es gibt verschiedene Möglichkeiten, dies zu tun, und wir wollen uns einige der weit verbreiteten Methoden ansehen.
=> Schauen Sie sich hier die vollständige C # -Schulungsserie an
Was du lernen wirst:
- Int.Parse-Methode
- System.Convert-Methode
- int.TryParse-Methode
- Nicht numerische Zeichenfolge in Ganzzahl konvertieren
- Fazit
- Literatur-Empfehlungen
Int.Parse-Methode
Die Int.Parse-Methode funktioniert wie ein Wunder, wenn Sie sicher sind, dass Ihre Konvertierung niemals einen Fehler auslöst. Dies ist eine der einfachsten und einfachsten Möglichkeiten, eine Zeichenfolge in eine Ganzzahl umzuwandeln. Es kann einen Fehler auslösen, wenn die Konvertierung nicht erfolgreich ist.
Diese Methode wird hauptsächlich verwendet, wenn Sie eine Ganzzahl in Form einer Zeichenfolge haben. Zum Beispiel, Sie erhalten eine Zeichenfolge von einer Benutzereingabe wie '99'. Versuchen wir ein einfaches Programm, um diese Zeichenfolge in eine Ganzzahl umzuwandeln.
Programm
öffentliches Klassenprogramm
{ public static void Main() { String str = '99'; int number = int.Parse(str); Console.WriteLine(number); } }
Ausgabe
Die Ausgabe des obigen Programms:
99
Erläuterung
Das Programm gibt den numerischen Wert der Zeichenfolge zurück.
Ursachenanalyse beim Testen von Software
Der schwierige Teil bei der Verwendung der int.Parse-Methode ist das Problem, einen Fehler auszulösen, wenn die Zeichenfolge nicht in einem korrekten Format vorliegt, d. H. Wenn eine Zeichenfolge andere Zeichen als Ziffern enthält.
Wenn ein anderes Zeichen als eine Ziffer vorhanden ist, gibt diese Methode den folgenden Fehler aus:
“(System.FormatException: Input string was not in a correct format.)”
System.Convert-Methode
Eine andere Möglichkeit, eine Zeichenfolge in eine Ganzzahl zu konvertieren, ist die Verwendung der Convert-Methode. Diese Methode ist nicht so einfach wie die vorherige Methode, da wir bereit sein müssen, alle Ausnahmen zu behandeln, die aufgrund der Interaktion des Programms mit fehlerhaften Daten auftreten können.
Ausnahmen können auch viel Speicherplatz beanspruchen. Daher ist es nicht ratsam, während des Ausführungsablaufs auf eine gewünschte oder unerwünschte Ausnahme zu stoßen. Zum Beispiel, Wenn eine Ausnahme in einer Schleife auftritt, wird beim Auslösen viel Speicherplatz verbraucht, wodurch Ihr Programm verlangsamt wird.
Die Verwendung der Konvertierungsmethode ist sehr hilfreich, wenn Sie den Grund für das Fehlschlagen der Analyse wissen möchten. Es kann die Ausnahme abfangen und die Fehlerdetails anzeigen.
Programm
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); } }
Ausgabe
'Das konvertierte int ist: 123'
Erläuterung
Im obigen Programm haben wir die convert-Methode verwendet, um einen String in eine Ganzzahl zu konvertieren. Wenn die String-Variable eine Zahl ist, wird sie in eine Ganzzahl konvertiert, aber im Falle eines fehlerhaften Strings wird eine Ausnahme ausgelöst, die vom catch-Block behandelt wird.
int.TryParse-Methode
Eine der häufigsten Methoden zum Parsen einer Zeichenfolgendarstellung in eine 32-Bit-Ganzzahl ist die Verwendung der TryParse-Methode. Bei dieser Methode wird kein Leerzeichen vor oder nach der Zeichenfolge berücksichtigt, aber alle anderen Zeichenfolgenzeichen sollten einen geeigneten numerischen Typ haben, um eine Konvertierung zu erleichtern.
Zum Beispiel, Jeder Leerraum, jedes Alphabet oder jedes Sonderzeichen in der Variablen kann einen Fehler verursachen.
Die TryParse-Methode akzeptiert zwei Parameter, der erste ist die Zeichenfolge, die der Benutzer konvertieren möchte, und der zweite Parameter ist das Schlüsselwort 'out', gefolgt von der Variablen, in der Sie den Wert speichern möchten. Es wird ein Wert zurückgegeben, der auf dem Erfolg oder Misserfolg der Konvertierung basiert.
TryParse(String, out var)
Schauen wir uns ein einfaches Programm an, mit dem Sie eine numerische Zeichenfolge in eine Ganzzahl konvertieren können.
Programm
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); } } }
Ausgabe
Der Integer-Wert beträgt 999
Erläuterung
Im obigen Programm haben wir 'TryParse' verwendet, um die numerische Zeichenfolge in eine Ganzzahl umzuwandeln. Zuerst haben wir eine Stringvariable definiert, die wir konvertieren müssen. Dann haben wir eine weitere Variable 'numerisch' vom Typ Integer initialisiert. Dann haben wir eine boolesche Variable verwendet, um den Rückgabewert der try-Analyse zu speichern.
Wenn true zurückgegeben wird, bedeutet dies, dass die Zeichenfolge erfolgreich in eine Ganzzahl konvertiert wurde. Wenn false zurückgegeben wird, liegt ein Problem mit der Eingabezeichenfolge vor. Wir haben das gesamte Programm-Snippet im Try-Catch-Block eingeschlossen, um eventuell auftretende Ausnahmen zu behandeln.
Nicht numerische Zeichenfolge in Ganzzahl konvertieren
In allen oben genannten Programmen haben wir versucht, den numerischen Zeichenfolgenwert in eine Ganzzahl umzuwandeln, aber im realen Szenario müssen wir die meiste Zeit Zeichenfolgen verarbeiten, die Sonderzeichen, Alphabete und Ziffern enthalten. Wenn wir nur den numerischen Wert erhalten möchten, kann dies etwas schwierig sein.
Zum Beispiel, Wir haben eine Preiszeichenfolge mit einem Wert von 100 US-Dollar und müssen den Preis in einer ganzen Zahl ermitteln. In diesem Fall erhalten wir eine Ausnahme, wenn wir versuchen, einen der oben diskutierten Ansätze zu verwenden.
Diese Arten von Szenarien können einfach mithilfe einer for-Schleife und eines regulären Ausdrucks behandelt werden, nachdem eine Zeichenfolge in ein Array von Zeichen aufgeteilt wurde.
Schauen wir uns das Programm an:
class Program { static void Main(string() args) { string price = '0'; string priceNumeric = ''; for(inti =0; i Ausgabe
Der numerische Preiswert ist: 100
Erläuterung:
Im obigen Code haben wir eine Preisvariable vom String-Datentyp. Dann definieren und initialisieren wir eine weitere Stringvariable priceNumeric. Die Idee ist, damit den numerischen Teil der Preisvariablen zu halten.
Als nächstes haben wir eine for-Schleife verwendet, um jedes einzelne Zeichen in der Zeichenfolge auf Ziffern zu überprüfen. Dazu haben wir zuerst die Zeichen in der Variablen ch mithilfe von index abgerufen. Dann haben wir den regulären Ausdruck verwendet, um zu überprüfen, ob das Zeichen, das wir aus der Zeichenfolge ausgewählt haben, mit einer numerischen Ziffer übereinstimmt oder nicht. (Der Ausdruck ' d' von Regex bedeutet die Übereinstimmung mit einer einzelnen numerischen Ziffer.)
Dann verketten wir die numerische Zeichenfolge und speichern sie in der Variablen priceNumeric. Sobald die Schleife beendet ist, werden alle Ihre numerischen Zeichenfolgen zu dieser Variablen hinzugefügt und alle anderen Zeichen, einschließlich Sonderzeichen, Alphabete usw., werden entfernt.
Wie wir wissen, enthält diese Zeichenfolge nur noch die numerischen Zeichen, und wir können die Konvertierung direkt verwenden, um diese Zeichenfolge in eine Ganzzahl umzuwandeln.
Fazit
In diesem Tutorial haben wir gelernt, wie wir einen String in eine Ganzzahl konvertieren können. Wir haben auch gelernt, die verschiedenen Methoden zu verwenden, die je nach Anforderung für die Konvertierung verwendet werden können.
Empfohlene Lektüre = >> So konvertieren Sie String in Integer in Java Und So konvertieren Sie Integer in String in Java
Als nächstes diskutierten wir ein Programm zum Konvertieren von Zeichenfolgen mit Sonderzeichen oder Alphabeten in eine Ganzzahl, indem die nicht ganzzahligen Teile entfernt wurden. Dieses Beispielprogramm kann gemäß den Benutzeranforderungen optimiert und zum Abrufen numerischer Daten aus einer beliebigen Zeichenfolge verwendet werden.
=> Lesen Sie hier den C # -Handbuch für Anfänger
Literatur-Empfehlungen
- C # String Tutorial - String-Methoden mit Codebeispielen
- Java String mit String Buffer und String Builder Tutorial
- Java-Threads mit Methoden und Lebenszyklus
- Python-String-Funktionen
- Python String Split Tutorial
- Erfahren Sie anhand von Beispielen, wie Sie die C # StringBuilder-Klasse und ihre Methoden verwenden
- Erweitertes Unix-Shell-Scripting: Arrays, Datei- und String-Testoperatoren, spezielle Variablen
- C # Zufallszahl und C # Zufallszeichenfolgengenerator mit Codebeispielen