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);
}
Willkommen im #Neuland
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.
PQ Discord Server: #planetquake Spenden? Hier entlang!
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.
PQ Discord Server: #planetquake Spenden? Hier entlang!
[VC++] Konvertierungen
-
- Stripe
- Beiträge: 2498
- Registriert: Mär 2002
format macht einen string aus mehreren argumenten (wie sprintf) und nich umgekehrt..
lösung sollte so aussehen:
Have Fun!
Bandit.
lösung sollte so aussehen:
Code: Alles auswählen
void CGUI1Dlg::OnRechnen([b][/b])[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[b][/b]);[br][br] Euro = atof(EingabeEuro[b][/b]);[br] Franken=Euro*Faktor;[br][br] AusgabeFranken.Format("%f",Franken[b][/b]);[br][br] SetDlgItemText(IDC_Ausgabe,AusgabeFranken[b][/b]);[br]}
Bandit.
<-- Ehemaliger TTK-Bandit, bis inquake rumzickte -->
Dict.cc Firefox Addon | Q3Devel | Code3Arena(De) | GameType Revolution | Open Game Libraries
Dict.cc Firefox Addon | Q3Devel | Code3Arena(De) | GameType Revolution | Open Game Libraries
-
- Bones
- Beiträge: 3199
- Registriert: Dez 2002
- Wohnort: BRD
Danke!Original erstellt von TTK-Bandit
format macht einen string aus mehreren argumenten (wie sprintf) und nich umgekehrt..
lösung sollte so aussehen:Have Fun!Code: Alles auswählen
void CGUI1Dlg::OnRechnen([b][/b])[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[b][/b]);[br][br] Euro = atof(EingabeEuro[b][/b]);[br] Franken=Euro*Faktor;[br][br] AusgabeFranken.Format("%f",Franken[b][/b]);[br][br] SetDlgItemText(IDC_Ausgabe,AusgabeFranken[b][/b]);[br]}
Bandit. [/b]
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!
-
- Stripe
- Beiträge: 2498
- Registriert: Mär 2002
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.
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
Dict.cc Firefox Addon | Q3Devel | Code3Arena(De) | GameType Revolution | Open Game Libraries