VB.net 2005 - Ερώτημα στο Char Datatype

Συζητήσεις για τις γλώσσες του dot Net και για του Visual Studio της Microsoft

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
nigger
Δημοσιεύσεις: 2
Εγγραφή: 14 Ιαν 2008 03:45

VB.net 2005 - Ερώτημα στο Char Datatype

Δημοσίευση από nigger » 14 Ιαν 2008 04:11

Καλημέρα,
Δεν ασχολούμαι ιδιαίτερα με vb.net, απλώς έτυχε να αναλάβω μία εφαρμογή και έτσι, μου δημιουργήθηκε μία απορία:
Έστω έχουμε ένα textbox και ένα button.
Στο textbox.text θέλω να εισάγω ΜΟΝΟ ΨΗΦΙΑ και το check θα γίνεται από το button.
π.χ.

Κώδικας: Επιλογή όλων

        If Char.IsDigit(TextBox1.Text) Then
            MsgBox("OK")
        Else
            MsgBox("AGRRR")
        End If
Βάζω στο textbox ψηφία παίζει σωστά. (msgbox("OK"))
Βάζω γράμματα επίσης. (msgbox("AGRR"))
Όταν εισάγω αλφαριθμητικά δεδομένα π.χ. 222GGG, μου εμφανίζει το msgbox("OK"), ενώ δεν έπρεπε.
Όταν εισάγω GGG222 (δλδ, πρώτα letters και μετά digits, μου εμφανίζει AGRR)

Ενώ του έχω πει, μέσω του char να κοιτάει μόνο ψηφία, δεν παίζει σωστά!!
Έχω την εντύπωση, πως το Char.whatever... κοιτάει μόνο το πρώτο ψηφίο ή κάνω λάθος?

Ευχαριστώ,

Άβαταρ μέλους
Sheena
Honorary Member
Δημοσιεύσεις: 3654
Εγγραφή: 07 Σεπ 2005 00:00

VB.net 2005 - Ερώτημα στο Char Datatype

Δημοσίευση από Sheena » 14 Ιαν 2008 13:54

Έτσι όπως το έχεις δηλώσει περιμένει να ελέγξει για έναν χαρακτήρα, αφού το Char αναφέρεται σε έναν χαρακτήρα και μόνο. Αν το δηλώσεις ως array, δηλ. Char() θα μπορεί να κρατήσει περισσότερους από έναν χαρακτήρες και εκεί να κάνεις τον έλεγχο....

Αλλά και πάλι, αν θέλεις να αποφύγεις να κοιτάς χαρακτήρα προς χαρακτήρα τι σου έχει δώσει ο χρήστης, τότε προτιμότερη λύση φαίνεται να είναι το IsNumeric, δηλ. να γράψεις IsNumeric(TextBox1.Text)...... Εξαρτάται τι θέλεις να κάνεις.
Εικόνα

id12856 Οι άγγελοι πάνε κοντά με τους αγγέλους...

Απάντηση

Επιστροφή στο “dot Net και Visual Studio”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες