Rubrik: Variablen/Strings | VB-Versionen: VB2005, VB2008 | 15.02.10 |
Prüfen, ob ein String nur aus Zahlen besteht Diese Funktion prüft, ob ein String nur reinen Zahlen besteht, also ohne Buchstaben, Punke, Komma oder anderen Sonderzeichen. | ||
Autor: Dieter Otter | Bewertung: | Views: 59.221 |
www.tools4vb.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit der IsNumeric-Funktion von VB lässt sich einfach prüfen, ob es sich bei einem String (oder Text) um einen numerischen Wert handelt. Möchte man nun prüfen, ob ein String nur aus Zahlen besteht, ist man zunächst versucht, die IsNumeric-Funktion anzuweisen. Solange man hier kein Minuszeichen, Tausender oder Dezimaltrennzeichen verwenden, arbeitet die Funktion auch ganz gut.
Will man jedoch prüfen, ob ein String wirklich nur aus reinen Zahlen besteht, versagt die IsNumeric-Funktion:
Debug.Print IsNumeric("07182") ' True Debug.Print IsNumeric("071.82") ' Ebenfalls True
Nachfolgende Funktion gibt nur dann True zurück, wenn der übergebene String tatsächlich nur Zahlen enthält.
''' <summary> ''' Prüft den angegebenen Text, ob dieser nur aus Zahlen besteht ''' </summary> ''' <param name="Text">String, der gerprüft werden soll.</param> ''' <returns>True, wenn der String nur aus Zahlen besteht, andernfalls False.</returns> Public Function NurZahlen(ByVal Text As String) As Boolean If Text.Length = 0 Then Return False If Not IsNumeric(Text) Then Return False For i As Integer = 0 To Text.Length - 1 If Not "0123456789".Contains(Text.Chars(i)) Then Return False End If Next Return True End Function