kostenloser Webspace werbefrei: lima-city


Inhalt von Textfeld in Single konvertrieren

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    slysphotos

    slysphotos hat kostenlosen Webspace.

    Hallo zusammen!

    Also ich sitze nun schon knap ne halbe Stunde vor meinem VisualStudio 2003 (VB.NET) und versuche folgendes Problem zu lösen:
    Ich habe ein Textfeld, in das der Benutzer eine Zahl eingeben soll. Die wird dann in eine Single-Variable geschrieben und mit der rechne ich dann gleichungen aus.
    Mein Problem ist, dass wenn da irgendwer etwas anderes als Zahlen rein schreibt, bekomme ich einen Fehler das die Konvertierung in Single fehlgeschlagen ist, und mein Programm schmiert ab!
    Gibt es denn keine Möglichkeit zu überprüfen, ob in dem Textfeld Zahlen drin stehen und wenn das nicht der Fall ist eine MessageBox aufzurufen??? ...bis jetzt hab ich zumindest mit allem was ich gefunden hab nur weitere Fehlermeldungen gesehe!

    Tia
    slysphotos

    p.s.: wo kann man eigentlich so "relativ simple" fragen recherchieren?
    Ich hab weder mit google noch in der msdn was brauchbares gefunden.. :(


    Beitrag geaendert: 31.3.2007 21:54:03 von slysphotos
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. versuchs mal mit try-catch
  4. Autor dieses Themas

    slysphotos

    slysphotos hat kostenlosen Webspace.

    danke für den Tip, aber so wie ich das sehe kann ich damit nur den fehler abfangen.

    gibt denn keine möglichkeit das von anfang an einfach richtig zu kenvertrieren?
  5. Also wenn man Text oder so reinschreibt kann man es logischerweise nicht konvertieren. Dann kannst du dem Benutzer wenigstens sagen, er soll nicht so ein Scheiss reinschreiben.

    Die andere Möglichkeit wäre es eine Schablone zu mache, was man eingeben darf. Da du aber nicht weisst, wie lange die Zahl ist, gestaltet sich das als ziemlich schwierig.

    Dann könntest du wie bei einem Taschenrechner einfach nur die Knöpfe für die Zahlen zu geben.

    Oder alle Tasten-Drücke ausgenommen Zahlen zu ignorieren. Oder sobald es im Textfeld ein Symbol hat, das keine Zahl ist, wieder den Wert davor hinzuschreiben.

    Dann könntest du, wenn es eine Grafische Öberfläche gibt, das Eingabefeld, nur für Zahlen verwenden. (Weiss den Namen gerade nicht).

    Aber ich würde es mit Try-Catch machen. Du könntest die Chance erhöhen, dass das konvertieren klappt. Ich weiss nicht, ob Komma und Punkt erlaubt sind. Sonst kann man das ersetzten.

    Aber solange der Benutzer etwas eingibt, dass man nicht konvertieren kann, so kann man es halt nicht konvertieren
  6. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Hi,

    mit der Funktion IsNumeric() kannst du überprüfen, ob ein bestimmter Text in eine Zahl umgewandelt werden kann.

    Beispiel:

    If IsNumeric(Me.TextBox1.Text) Then
    Dim MeineZahl As Single = CType(Me.TextBox1.Text, Single)
    Else
    MsgBox("Sie haben keine Zahl eingegeben.")
    End If



    Allerdings kann hier noch ein Fehler auftreten: Die eingegebene Zahl ist zu groß für den Datentyp Single (-> Overflow). Deshalb sollte noch eine Try..Catch Anweisung eingebaut werden.

    Beispiel:

    If IsNumeric(Me.TextBox1.Text) Then
    Try
    Dim MeineZahl As Single = CType(Me.TextBox1.Text, Single)
    Catch ex As Exception
    MsgBox("Die eingegebene Zahl kann nicht in den Typ Single umgewandelt werden." & vbNewLine & "Ursache: " & ex.Message)
    End Try
    Else
    MsgBox("Sie haben keine Zahl eingegeben.")
    End If
  7. Autor dieses Themas

    slysphotos

    slysphotos hat kostenlosen Webspace.

    @cbhp:
    Danke für die Erklärung, genau das hatte ich uhrsprünglich gesucht!

    Ich hab mich jetzt aber doch dazu entschlossen einfach ein "NumericUpDown" statt einem Textfeld zu verwenden; sicher ist sicher :)

    Danke trotzdem an alle!
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!