Windows Forms Taschenrechner: Komma-Problem?

Hallo ich erstelle derzeit einen Taschenrechner in Windows Forms.

Ich bin eigentlich fertig mit dem Taschenrechner, bin aber leider jetzt am Schluss auf ein Problem gestoßen, was ich nicht gelöst bekomme:

Wenn ich als Aufgabe 12,4 + 3 eingebe, kommt 127 raus. Ich verstehe aber einfach nicht warum. Es hat die ganze Zeit funktioniert und plötzlich nicht mehr. Vielleicht habe ich ja unbewusst etwas geÀndert.

Hier der Codeabschnitt, der etwas mit dem Komma zu tun hat (ich kann leider nicht den gesamten Code einfĂŒgen, da 500 Zeilen -> erweiterter Taschenrechner):

Imports System.Globalization
Imports System.Text.RegularExpressions

Public Class Form1
  Public Property zahl As String = ""
  Public Property calc As String = ""
  Dim input As String = ""

  Private Function GetDezimalTrennzeichen() As String
    Return CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator
  End Function

  Private Sub bcomma_Click(sender As Object, e As EventArgs) Handles bcomma.Click
    tb.Text += GetDezimalTrennzeichen()
  End Sub

  Private Sub bsolve_Click(sender As Object, e As EventArgs) Handles bsolve.Click
    ' ...
    Dim input As String = tb.Text
    input = input.Replace(",", ".")
    ' ...
  End Sub

  Private Function EvaluateExpression(expression As String) As Double
    ' ...
    Dim sqrtRegex As New Regex("sqrt\(([^()]+)\)")

    While sqrtRegex.IsMatch(expression)
      input = sqrtRegex.Replace(input, Function(match)
      Dim innerExpression As String = match.Groups(1).Value
      Dim result As Double = EvaluateExpression(innerExpression)

      If result >= 0 Then
        Return Math.Sqrt(result)
      Else
        ' Wenn das Ergebnis negativ ist, wird eine Exception ausgelöst
        Throw New ArithmeticException("Negatives Ergebnis")
      End If
  End Function)
  End While
  ' ...
End Function

Danke schon einmal.

Visual Basic, Taschenrechner, Visual Studio, Windows Forms

Meistgelesene Fragen zum Thema Taschenrechner