Wenn eine Zahl in einem Textfeld/Textbox ausgegeben werden soll

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Silas88vD.

    Wenn eine Zahl in einem Textfeld/Textbox ausgegeben werden soll

    Hallo :)

    Uns liegt folgendes Programm vor, das wir versuchen sollen zu verstehen:

    In einer Textbox soll zuerst der Nettoverkaufspreis eines Artikels eingegeben werden (Textbox 1 = txtNettoverkaufspreis). In einer zweiten Textbox wird die Mehrwertsteuer in % eingegeben (Textbox 2= txtMWSt).

    Durch Betätigen des Buttons "RECHNEN" wird dann in einer dritten Textbox die Höhe der Mehrwertsteuer in Euro ausgegeben. (Textbox 3 = txtMWSTEur)

    In einer vierten Textbox soll dann der Bruttoverkaufspreis ausgegeben werden. (Textbox 4 = txtBVKP).

    Die Programmierung sieht so aus:

    Public Class Form 1
    Private Sub cmdRechnen_Click(By Val.......)

    Dim dblNettoverkaufspreis AS Double
    Dim intMWST As Integer
    Dim sngMWSTEUR AS Single
    Dim dblBruttoverkaufspreis As Double


    ´Eingabedaten

    dblNettoverkaufspreis = CDbl(txtNettoverkaufspreis.Text)

    intMWST = CINT(txtMWST.Text)

    ´Verarbeitung

    sngMWSTEur = dblNettoverkaufspreis *intMWST/100

    dblBruttoverkaufspreis = dblNettoverkaufspreis + sngMWSTEUR

    ´Ausgabe

    (DIES IST DER TEIL, den ich NICHT VERSTEHE, denn mir erscheint die Umwandlung mit STRING merkwürdig. Warum wird denn hier mit STRING umgewandelt, String wird doch nur bei Zeichenfolgen benutzt, aber es sollen doch ZAHLEN in den Textboxen nach der Berechnung ausgegeben werden???!!!??? ?(

    txtMWStEUR.Text = Cstr(sngMWSTEur)

    txtBVKP.Text = Cstr(dblBruttoverkaufspreis)

    müsste es nicht wiefolgt heißen:

    txtMWStEUR.Text = Csng(sngMWSTEur)

    txtBVKP.Text = Cdbl(dblBruttoverkaufspreis)

    oder hat es etwas damit zu tun, dass ja nun an dieser Stelle in der Textbox Zahlen ausgegeben werden sollen. Normalerweise würde ja eine zeichenfolge ausgegeben werden, wenn keine Umwandlung mit CStr erfolgt... Ich bin da wirklich etwas 8| verwirrt... Ich habe mir versucht, das so zu erklären, dass, wenn eine Zahl in einer Textbox eingegeben werden soll, mit Csng, Cdbl usw umzuwandeln ist. Und wenn eine Zahl nach einer Berechnung durch den PC in einer Textfeld ausgegeben werden soll, dann muss immer mit Csng umgewandelt werden??!!?? hmmm...



    VIELEN DANK FÜR EURE HILFE!
    Die Eigenschaft "Text" von der Textbox hat den Typen "String". Das bedeutet sie kann immer nur einen String beinhalten. Da man mit einem String nicht rechnen kann muss man ihn in eine Zahl (Double) konvertieren um damit zu rechnen. Um das Ganze wieder in der Textbox anzeigen zu können muss man die Zahl (Double) wieder zurück in String verwandeln, weil Textbox.Text eben nie eine Zahl enthalten kann sondern nur einen String.