Rechner Fehler

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Rechner Fehler

    Hallo,

    ich programmiere gerade ein kleiner Umrechner und möchte, dass er Celsius in Rankine umrechnet.
    ich habe den selben text von Celsius in Fahrenheit genommen und da geht es:

    VB.NET-Quellcode

    1. Dim er As Double
    2. Dim d As Double
    3. d = Convert.ToDouble(TextBox1.Text)
    4. er = ((d * 9.0) / 5.0) + 32.0
    5. TextBox2.Text = er.ToString


    Celsius in Rankine:

    VB.NET-Quellcode

    1. Dim er As Double
    2. Dim l As Double
    3. l = Convert.ToDouble(TextBox5.Text)
    4. er = ((l * 1.8) + 32) + 459.67
    5. TextBox6.Text = er.ToString


    Da kommt immer ein Fehler:

    Die Eingabezeichenfolge hat das falsche Format.

    Könntet ihr mir helfen?

    Danke im Vorraus

    Edit by ~blaze~:
    *Thema verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „~blaze~“ ()

    Wenn Du in TextBox1 (oder 5) "Halloasdfasdf" eingibst lässt sich das schlecht in eine Zahl umwandeln.
    Schreib den Code ein bisschen um:

    VB.NET-Quellcode

    1. Dim er As Double
    2. Dim d As Double
    3. If Double.TryParse(TextBox1.Text, d) Then
    4. er = ((d * 9.0) / 5.0) + 32.0
    5. TextBox2.Text = er.ToString
    6. Else
    7. MessageBox.Show("Gib 'ne Zahl ein!")
    8. End If


    Double.TryParse() versucht einen Text in eine Zahl (in diesem Fall Double (Echt jetzt?)) zu konvertieren. Wenn das klappt gibt es True zurück und wenn nicht False. Das kann in einem If Konstrukt verwendet werden um zu herauszufinden, ob es geklappt hat.

    Weiters kann man sich die Variable er sparen:

    VB.NET-Quellcode

    1. Dim d As Double
    2. If Double.TryParse(TextBox1.Text, d) Then
    3. TextBox2.Text = (((d * 9.0) / 5.0) + 32.0).ToString
    4. Else
    5. MessageBox.Show("Gib 'ne Zahl ein!")
    6. End If


    Ich sehe Du hast Option Strict auf On. Denn sonst hättest Du wahrscheinlich das .ToString nicht hingeschrieben. Daumen hoch dafür.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    Falls an Deinem String eine Einhait "°", "K, "R" oder so dransteht, solltest Du diese vor dem Konvertieren entfernen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!