Taschenrechner, +/- taste komma wird verworfen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von kai996.

    Taschenrechner, +/- taste komma wird verworfen

    Hi,

    ich hab einen Taschenrechner gemacht, der auch eine +/- taste hat. Das funktionert auch ganz gut, aber wenn ich Kommazahlen eingebe und dann auf +/- klicke, "verwirft" das Problem das Komma. Zum Beispiel: Ich gebe 9.3 ein, drücke dann auf die +/- Taste, dann kommt als Ergebnis -93. Wenn normale Zahlen in der TextBox stehen klappt das ohne Probleme. Was soll ich tun?
    Hier der Code von der Taste (ich hab Option Strict On, also damit hängts nicht zusammen):

    VB.NET-Quellcode

    1. Private Sub Button20_Click(sender As System.Object, e As System.EventArgs) Handles Button20.Click
    2. Try
    3. TextBox1.Text = CStr(CDbl(TextBox1.Text) * (-1))
    4. My.Settings.zahl = TextBox1.Text
    5. Catch ex As Exception
    6. End Try
    7. End Sub

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

    Im Deutschen gibt es ein Dezimal-Komma, nicht aber einen Dezimalpunkt, das weiß sogar das Betriebssystem.
    Wenn Du einen Punkt unterstützen willst, ersetze ihn zuvor durch ein Komma.

    VB.NET-Quellcode

    1. Dim txt As String = TextBox1.Text.Replace(".", ",")
    2. Dim dbl As Double = Double.Parse(txt)
    3. TextBox1.Text = (-dbl).ToString
    Und:
    Lass My.Settings.zahl ein Double sein, da trennst Du GUI von Daten und sparst einige Konvertierungen.
    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!