VB Calculator добавить некоторые функции - PullRequest
0 голосов
/ 14 февраля 2020

Я запрограммировал калькулятор с помощью Visual Basi c, но я хотел бы добавить еще несколько функций. Но я не могу понять, как решить следующие проблемы в моем коде:

  1. , если в поле ввода введено более одного нуля, следует просто удалить начальные нули. ( пример 0000111 -----> 111 или 0002345 ----> 2345)

  2. аналогично, десятичное число не должно иметь несколько нулей перед десятичной точкой (пример 000.176 --- -> 0,176)

  3. кроме того, нельзя вводить две запятые (пример 0.187.56 -----> не должно быть возможно -------- -----> 0.18756) Может ли кто-нибудь мне помочь?

Public Class Form1
    Public LCD As Single
    Public OPZ As String

    Private Sub LCDfuellen(sender As Object, e As EventArgs) Handles btn3.Click, btn2.Click, btn1.Click, btn9.Click, btn8.Click, btn7.Click, btn6.Click, btn5.Click, btn4.Click
        txtLCD.Text &= ActiveControl.Tag

        Replace(LTrim(Replace(txtLCD.Text, "0", " ")), " ", "0")

    End Sub

    Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click
        txtLCD.Clear()
    End Sub

    Private Sub btnCE_Click(sender As Object, e As EventArgs) Handles btnCE.Click
        'txtLCD.Text = txtLCD.Text.Remove(txtLCD.TextLength - 1, 1)
        txtLCD.Text = LSet(txtLCD.Text, txtLCD.TextLength - 1)
    End Sub

    Private Sub OPZlesen(sender As Object, e As EventArgs) Handles btnPlus.Click, btnMinus.Click, btnMal.Click, btnDurch.Click
        LCD = CSng(txtLCD.Text)
        txtLCD.Clear()
        OPZ = ActiveControl.Tag



    End Sub

    Private Sub btnGleich_Click(sender As Object, e As EventArgs) Handles btnGleich.Click
        Dim activeLCD As Single
        activeLCD = CSng(txtLCD.Text)

        Select Case OPZ
            Case "+" : txtLCD.Text = CStr(LCD + activeLCD)
            Case "-" : txtLCD.Text = CStr(LCD - activeLCD)
            Case "*" : txtLCD.Text = CStr(LCD * activeLCD)
            Case "/" : txtLCD.Text = CStr(LCD / activeLCD)
        End Select
    End Sub



    Private Sub btn0_Click(sender As Object, e As EventArgs) Handles btn0.Click

        txtLCD.Text &= ActiveControl.Tag

    End Sub

    Private Sub btnPunkt_Click(sender As Object, e As EventArgs) Handles btnPunkt.Click

        txtLCD.Text &= ActiveControl.Tag
    End Sub


End Class


...