Überprüfen Sie, ob eine String-Variable einen ganzzahligen Wert hat

8

Ich arbeite an einem Projekt, bei dem Kinder eine Nachricht an den Weihnachtsmann senden können. Wenn sie im AGE-Feld eine Zeichenfolge anstelle einer Ganzzahl eingeben, stürzt das Programm unglücklicherweise ab und gibt die Konvertierung von der Zeichenfolge "[exampleString]" in die Zeichenfolge "Double" zurück, die nicht gültig ist. Gibt es eine Möglichkeit zu überprüfen, ob sie eine Ganzzahl eingegeben haben oder nicht? Dies ist der Code.

%Vor%

Danke, Kai:)

    
Kai Silverthorne 20.12.2012, 21:13
quelle

7 Antworten

31

Ein sehr einfacher Trick besteht darin, die Zeichenfolge als Integer zu analysieren . Wenn es gelingt, ist es eine ganze Zahl (Überraschungsüberraschung).

%Vor%     
Styxxy 20.12.2012, 21:18
quelle
4

Sie können die folgenden zwei Tests durchführen, um einigermaßen sicher zu sein, dass die Eingabe, die Sie erhalten, eine Ganzzahl ist:

%Vor%

Die Funktion InStr wird zurückgegeben Null, wenn die Zeichenfolge, nach der gesucht wird, nicht gefunden wird. Wenn Sie diesen Test mit IsNumeric kombinieren, schließen Sie auch die Möglichkeit aus, dass ein Gleitkomma-Datentyp eingegeben wurde.

    
rwells 21.12.2012 06:07
quelle
1

Sie können dies verwenden.

%Vor%     
Quentin Perez 20.12.2012 21:16
quelle
1

IsNumeric ist in VB integriert und gibt ein true / false

zurück %Vor%     
mmeasor 20.12.2012 21:18
quelle
0

Ausgehend von Styxxys Antwort, wenn Sie als Byte statt als Ganzzahl analysieren, werden auch negative Alter und das maximale Alter von 255 auf einmal überprüft.

%Vor%

Kristian

    
Kristian 10.12.2014 10:36
quelle
0
%Vor%     
SAm 14.12.2016 10:53
quelle
-1

In .Net können Sie GetType() verwenden, um den Datentyp einer Variablen zu bestimmen.

%Vor%

Basierend auf dem obigen Beispiel können Sie ein Code-Snippet schreiben:

%Vor%
bonCodigo 20.12.2012 21:18
quelle