![]() |
C#: Eingabegültigkeitsüberprüfung Int32/string
:hallo:
Ich stehe vor der Frage (welche mir mein Buch nicht beantworten will), wie man in C# eine Eingabegültigkeitsüberprüfung durchführt. ZB wird eine Integereingabe verlangt. Was aber, wenn der user einen string oder ein char eingibt? Dann stürzt das Programm mit Fehlermeldung ab. Da bringt auch Convert.ToInt32() nix, scheinbar. PS: ich sitze vor Linux mit mono :-) Danke für Ratschläge. PPS: Ja, ich werde mir eh noch ein Fortgeschrittenenbuch kaufen (müssen). |
Gibts in diesen Hochtrabenden Sprachen kein "is numeric"? Das kann ja selbst Cobol schon seit 74....
pong |
jup DANKE!
public static bool IsInteger(string theValue) { try { Convert.ToInt32(theValue); return true; } catch { return false; } } //IsInteger jetzt kanns weitergehn :-) |
Und hier das gute Stück Arbeit, falls es wer braucht:
Ein Programm in C# zum Umrechnen von Euro in Schilling und umgekehrt. // project euro-schilling.exe //Licence: Public Domain using System; namespace EuroSchilling { class MainClass { public static void Main(string[] args) { const double euro = 0.0727; const double schilling = 13.7603; double konvbetrag; string auswahl1 = "1: Euro nach Schilling umwandeln."; string auswahl2 = "2: Schilling nach Euro umwandeln."; string auswahl3 = "x: Beenden."; string betrag; string eingabe; do { Console.WriteLine("Bitte wählen Sie eine Funktion:\n" + auswahl1 + "\n" + auswahl2 + "\n" + auswahl3); //Prüfen ob auch kein String angegeben wurde! eingabe = Console.ReadLine(); switch(eingabe) { case "1": Console.WriteLine("Betrag: "); betrag = Console.ReadLine(); if(IsInteger(betrag) == true) { konvbetrag = Convert.ToDouble(betrag); Console.WriteLine("{0:f2} Schilling", konvbetrag * schilling); } else { Console.WriteLine("Bitte eine Zahl angeben!"); } break; case "2": Console.WriteLine("Betrag: "); betrag = Console.ReadLine(); if(IsInteger(betrag) == true) { konvbetrag = Convert.ToDouble(betrag); Console.WriteLine("{0:f2} Schilling", konvbetrag * euro); } else { Console.WriteLine("Bitte eine Zahl angeben!"); } break; case "x": break; default: continue; } } while(eingabe != "x"); Console.ReadLine(); } public static bool IsInteger(string beingabe) { try { Convert.ToDouble(beingabe); return true; } catch { return false; } } } } |
Zitat:
Code:
pong |
sorry, ok :-)
|
hi,
so macht man das: PHP-Code:
hannes |
höa! geht ja noch leichter :D
jetzt muss ich wieder umlernen, denn hab das umständlichere heute schon bis zur vergasung gemacht ;) danke! :-) |
Alle Zeitangaben in WEZ +2. Es ist jetzt 20:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag