Zeige Ergebnis 1 bis 4 von 4
  1. #1
    Benutzerbild von cKy
    Registriert seit
    Dez 2002
    Ort
    BRD
    Beiträge
    3.931
    Likes
    0
    Folgendes:

    Ich habe eine Dialogbasierende Anwendung in der man in einem Eingabefeld einen Eurowert eingibt, dann auf den Button "Rechnen" Drückt und dann soll in dem Programm der Eurowert * 1,7 genommen werden und dies in einem Textfeld wieder ausgegeben werden.

    Mein Problem ist folgendes:
    Man kann ja keine Strings multiplizieren also muss ich aus dem String des Eingabefeldes einen float wert machen.
    Das mache ich mit "EingabeEuro.Format("%f",Euro);"
    Dann wird das alles ausgerechnet und in die float Variable "Franken" gespeichert.
    Jetzt will ich das ganze in dem Textfeld ausgeben...Brauche aber einen String.
    Wie rechne ich jetzt die Floatzahl in nen String um?

    Hier ist die ganze Methode:

    void CGUI1Dlg::OnRechnen()
    {
    CString EingabeEuro;
    CString AusgabeFranken;
    const float Faktor=1.7;
    float Euro;
    float Franken;

    GetDlgItemText(IDC_EingabeEuro,EingabeEuro);

    EingabeEuro.Format("%f",Euro);

    Franken=Euro*Faktor;

    //Umrechnung von Float in String


    SetDlgItemText(IDC_Ausgabe,AusgabeFranken);

    }


  2. #2
    Benutzerbild von Roughael
    Registriert seit
    Mär 2002
    Beiträge
    3.726
    Likes
    0
    format macht einen string aus mehreren argumenten (wie sprintf) und nich umgekehrt..
    lösung sollte so aussehen:
    Code:
    void CGUI1Dlg::OnRechnen()[br]{[br]	CString EingabeEuro;[br]	CString AusgabeFranken;[br]	const float Faktor=1.7;[br]	float Euro;[br]	float Franken;[br][br]	GetDlgItemText(IDC_EingabeEuro,EingabeEuro);[br][br]	Euro = atof(EingabeEuro);[br]	Franken=Euro*Faktor;[br][br]	AusgabeFranken.Format("%f",Franken);[br][br]	SetDlgItemText(IDC_Ausgabe,AusgabeFranken);[br]}
    Have Fun!
    Bandit.
    <-- Ehemaliger TTK-Bandit, bis inquake rumzickte -->

    Dict.cc Firefox Addon | Q3Devel | Code3Arena(De) | GameType Revolution | Open Game Libraries

  3. #3
    Benutzerbild von cKy
    Registriert seit
    Dez 2002
    Ort
    BRD
    Beiträge
    3.931
    Likes
    0
    Original erstellt von TTK-Bandit
    format macht einen string aus mehreren argumenten (wie sprintf) und nich umgekehrt..
    lösung sollte so aussehen:
    Code:
    void CGUI1Dlg::OnRechnen()[br]{[br]	CString EingabeEuro;[br]	CString AusgabeFranken;[br]	const float Faktor=1.7;[br]	float Euro;[br]	float Franken;[br][br]	GetDlgItemText(IDC_EingabeEuro,EingabeEuro);[br][br]	Euro = atof(EingabeEuro);[br]	Franken=Euro*Faktor;[br][br]	AusgabeFranken.Format("%f",Franken);[br][br]	SetDlgItemText(IDC_Ausgabe,AusgabeFranken);[br]}
    Have Fun!
    Bandit.
    Danke!

    Eine Frage ist mir noch eingefallen...

    Ist es besser man Konvertiert den String mit atof in eine Float zahl und weisst sie der float variable gleich zu oder man weisst gleich der IDC_EingabeEuro eine Membervariable "float m_EingabeEuro" zu?

    Also was ist sauberer Programmiert?

    Nochmals Danke!

  4. #4
    Benutzerbild von Roughael
    Registriert seit
    Mär 2002
    Beiträge
    3.726
    Likes
    0
    wenn du es nur für zahlen nutzt, sollte das in ordnung sein,
    wenn du gleich ne float variable nimmst.. wozu extra variablen dazu erzeugen ?

    btw GetDlgItemText nutz ich schon lange nichmehr.. DDX_Text is viel bequemer
    Have Fun!
    Bandit.
    <-- Ehemaliger TTK-Bandit, bis inquake rumzickte -->

    Dict.cc Firefox Addon | Q3Devel | Code3Arena(De) | GameType Revolution | Open Game Libraries

Forumregeln

  • Es ist dir nicht erlaubt, neue Themen zu verfassen.
  • Es ist dir nicht erlaubt, auf Beiträge zu antworten.
  • Es ist dir nicht erlaubt, Anhänge hochzuladen.
  • Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
  •