Zahl runden

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Enten Mann.

    Also ich wollte eine Zahl aus einer Textbox runden aber irgendwie funtz das nicht.

    Ich gebe z.b das als wert ein
    22345.22

    Dann gibt er mir das aus
    2234522

    Mein Code

    VB.NET-Quellcode

    1. Dim betrag As Double = TextBox_number.Text
    2. TextBox_out.Text = Math.Round(betrag, 2)


    Bitte sagen wo der fehler ist ^^

    RE: Zahl runden

    Enten Mann schrieb:

    Also ich wollte eine Zahl aus einer Textbox runden aber irgendwie funtz das nicht.

    Ich gebe z.b das als wert ein
    22345.22

    Dann gibt er mir das aus
    2234522

    Mein Code

    VB.NET-Quellcode

    1. Dim betrag As Double = TextBox_number.Text
    2. TextBox_out.Text = Math.Round(betrag, 2)


    Bitte sagen wo der fehler ist ^^


    Mach aus dem Punkt ein Komma! Du wirst vermutlich die deutsche Sprache + Landeseinstellungen in deinem Windows angegeben haben.

    Gruß,

    f0x
    Generell sollte man immer die Typen konvertieren bevor man sie zuweist oder damit arbeitet. Einen Text einer Double-Variablen zuzuweisen ist einfach ganz schlechter Stil und umgekehrt solltest du mit ToString auch wieder einen Text draus machen, bevor du das Ergebnis in die andere Textbox schreibst.

    Tipp, füg am Anfang der Code Datei ein Option Strict On ein, dann wird dich der Compiler auf alle diese Unsauberheiten hinweisen und du bekommst deutlich konsistenteren Code! (In den Optionen gibts auch einen globalen Schalter um das zu aktivieren).

    Grüße,

    f0x
    Bitte :) Das sollte meiner Meinung nach per Standard an sein. Genau diese Voreinstellung Off ist zu einem guten Teil für den schlechten Ruf von VB verantwortlich. Gerade Anfänger verstehen dann erst wirklich daß es wichtig ist Typen zu konvertieren und das zahlt sich später irgendwann mal aus.
    Gibt es sowas wie Math.Round auch für Prozente ? ^^

    Edit
    Habs schon gelöst

    VB.NET-Quellcode

    1. Dim percent As Integer = TextBox_number.Text
    2. Dim grundwert As Integer = TextBox_percent.Text
    3. Dim ergebnis As Integer = grundwert * (percent / 100)
    4. TextBox_out.Text = ergebnis

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Enten Mann“ ()