Zu einer bestimmten Zahl addieren??

  • Modern UI

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Zu einer bestimmten Zahl addieren??

    Hallo Community,ich habe eine Frage:

    Ich mache derzeit mit VB ein Supermarkt Simulator,natürlich mit Kassiersystem.
    Nun meine Frage:
    Wenn ich z.B. 5€ gebe und die Kosten 4€ und 20ct sind,sollte das Rückgeld 80ct sein,oder?
    Die Label sagen aber,das Rückgeld wäre 1€ und -80ct.
    Ich will aber,das dort 0€ und 80ct stehen soll.

    Bilder:

    (Kosten und Gegeben)

    (Rückgeld)




    VB.NET-Quellcode

    1. EuroRückgeld.Text = Val(EuroGegeben.Text) - Val(EuroKosten.Text)
    2. CentRückgeld.Text = Val(CentGegeben.Text) - Val(CentKosten.Text)
    3. EuroRückgeld.Text = EuroRückgeld.Text + "€"
    4. CentRückgeld.Text = CentRückgeld.Text + "ct"

    Das ist der Code.


    Danke im Vorraus

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

    Dein Code macht genau das was du ihm sagst.
    5€-4€ = 1€
    0ct - 20ct = -20ct

    Um eine ordentlich Berechnung zu schaffen musst du 2 sachen umbedingt beachten.
    1. Trenne GUI und Daten
    2. Wechne alle Werde in ein System um (in deinem Fall Cent)
    400ct + 20ct = 420ct
    500ct + 0ct = 500ct
    Rest = 500ct - 420 ct = 80ct
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Benenne deine Controls gescheit, dann ist die Fehlersuche auch einfacher. So weiß doch keiner was z.B. Label4.Text ist.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    VB.NET-Quellcode

    1. ​EuroRückgeld.Text = Val(EuroGegeben.Text) - Val(EuroKosten.Text)
    2. CentRückgeld.Text = Val(CentGegeben.Text) - Val(CentKosten.Text)
    3. EuroRückgeld.Text = EuroRückgeld.Text + "€"
    4. CentRückgeld.Text = CentRückgeld.Text + "ct"


    Hab den editiert @mrMo
    @WolfCrafter9 Dein Herangehen ist völlig falsch.
    Rechne mit Zahlen vom Typ Decimal und gib die Ergebnisse in Controls aus.
    Editiere Controls und weise deren Texte nach Konvertierung in Decimal den entsprechenden Variablen zu.
    Dann sollte der Rest ein Kinderspiel sein.
    Und:
    Währungsbeträge kannst Du als solche direkt formatieren:

    VB.NET-Quellcode

    1. Dim geld As Decimal = 12.3456D
    2. Dim txt = geld.ToString("c")
    3. MessageBox.Show(txt)
    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!

    WolfCrafter9 schrieb:

    Hab den editiert


    Leider hast du dir die Inhaltlich Hilfreichen Beiträge noch nicht vorgenommen.

    GUI und Daten sollten getrennt bleiben. Rechne nicht mit Texten sondern mit Zahlen.
    @RodFromGermany hat dir ein schönes Beispiel gegeben.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    @RodFromGermany Danke für die Hilfe,habe es endlich geschafft null
    Musste dein Code ein bisschen umwandeln.

    VB.NET-Quellcode

    1. Dim Kosten As Decimal = KostenLabel.Text
    2. Dim Gegeben As Decimal = GegebenLabel.Text
    3. Dim Rückgeld As Decimal
    4. Rückgeld = Gegeben - Kosten
    5. RückgeldLabel.Text = Rückgeld
    6. RückgeldLabel.Text = RückgeldLabel.Text + "€"
    7. Dim txt = Rückgeld.ToString("c")
    8. MessageBox.Show(txt)

    WolfCrafter9 schrieb:

    Musste dein Code ein bisschen umwandeln.
    Das ist der Plan.
    Nur hast Du das Konstrukr nicht ganz verstanden. Du hängst da noch ein €-Zeichen an Deinen String. :/
    Und
    machst Du Option Strict On.
    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!