Ausgabe von fließkommazahlen



  • Guten Abend,

    ich habe folgendes Problem:

    ich nutze seid kurzen c++ und wollte mir aus mehreren editboxen werte holen und
    diese werte in eine formel packen. Die Werte sollen fließkommazahlen sein.
    Nachdem die Formel das ergebnis errechnet hat, soll eine fließkommazahl in eine editbox bzw. einen statischen text ausgeben werden.

    Die Werte aus den editboxen zu holen und in die Formel zu packen habe ich hinbekommen.

    Nur wird mir als ergebnis in der editbox als genze zahl angezeigt. Teilweise auch als buchstabe. je nachdem was ich vorher für werte in die anderen editboxen eingeben habe.

    Wie bekomme ich das hin das mir das ergebnis als Fließkommazahl in der editbox angezeigt wird?

    Hier der ausschnitt aus dem Code:
    //Wurde "Berechnen" angeklickt?
    case ID_BERECHNENBUTTON:
    {
    char buffer[32];
    float fzahl1, fzahl2, fzahl3, fergebnis, fergebnis2;

    //Text aus der Editbox holen
    GetWindowText (hEditkalorien, buffer, 32);
    fzahl1 = atof(buffer);
    GetWindowText (hEditfett, buffer, 32);
    fzahl2 = atof(buffer);
    GetWindowText (hEditmenge, buffer, 32);
    fzahl3 = atof(buffer);

    //Aus Kalorien(zahl1) und Fett(zahl2) Punkte(ergebnis) errechnen
    fergebnis = (fzahl1/60) + (fzahl2/9);
    fergebnis2 = fergebnis * (fzahl3/100);

    //Den Text in der Editbox "Punkte" schreiben
    //und den Text in den Editboxen "Kalorien"
    //und "Fett" löschen

    SetWindowText (hEditpunkte, buffer);
    SetWindowText (hEditkalorien, "");
    SetWindowText (hEditfett, "");
    SetWindowText (hEditmenge, "");

    return (0);

    }

    Ich hoffe ihr könnt mir helfen ... und schonmal danke im vorraus.

    Mfg
    Mihyaeru



  • So, wie ich das sehe, schreibst Du den Inhalt des Arrays buffer in das Control. In buffer hast Du zuletzt den Inhalt des Controls hEditmenge eingelesen.
    Also sollte jetzt in hEditpunkte das stehen, was vorher in hEditmenge gestanden hat.

    Du musst also Dein Ergebnis erst mal in einen String umwandeln und diesen dann in Dein Control schreiben.


Anmelden zum Antworten