toFloat, Fehler bei include von "<Q3CString>
-
und woran meinste das zu erkennen ?
-
baba is awesome schrieb:
und woran meinste das zu erkennen ?
Z.B. daran, dass du toFloat() als freie Funktion verwendest. Wahrscheinlich suchst du "Q3CString::toFloat()", und das ist das was dir zwutz auch in seinem Codestück zeigt.
// edit:
Die "Q3***_Klassen sollten eigentlich nicht mehr verwendet werden. Die sind da, um Projekte, die noch in Qt3 geschrieben sind, möglichst schmerzfrei zu portieren. Wenn du da ein neues Projekt anfängst, solltest du diese Klassen meiden. Nur als kleiner gut gemeinter Rat
-
Nunja ich weiß net was toFloat() mit c++ zu tun hat. C++ ist StrToFloatff aber QQ ^^
Danke für deinen Rat wie kann ich das denn anders als mit der Funktion machen ? Und wie kann ich das ganze wieder zurück konvertieren?
Mfg Marvin
-
Wenn du uns verrätst, was die ganzen Variablen die in dem Ausdruck stehen für Tyen haben, und wo du das "toFloat" hernimmst, kann man dir sicher besser helfen.
Was ist "ui->zahl"?
Was ist "ui->zahl->text()"?
Was ist "Buffer"?
-
Wer nicht fragt bleibt dumm
Also:
Buffer ist eine Float Variablle,
Zahl ist ein lineEdit Feld.Mfg Marvin
-
baba is awesome schrieb:
Buffer ist eine Float Variablle,
Zahl ist ein lineEdit Feld.Dann hat zwutz doch schon fast den passenden Code für dich gepostet
Eine Sache geht immer noch nicht:void Rechner::addition() { Buffer = Buffer + ui->zahl->text().toFloat(); ui->zahl->text() = Buffer; /// <---- Voricht! }
- Die Doku sagt mir, dass QLineEdit::text() ein "QString" zurückliefert. Wenn du neuen Text einfügen willst, nutzt du bitte QLineEdit::setText( const QString& ).
- Es gibt keinen Konstrukot oder operator= in QString für nen float, so dass deine Zuweisung irgendwie implizit gecastet werden könnte.
void Rechner::addition() { Buffer = Buffer + ui->zahl->text().toFloat(); ui->zahl->setText( QString::number(Buffer) ); }
Der Code funktioniert und du solltest dir überlegen warum und warum deiner nicht klappte.
Ciao
-
Naja zwutz hat meinen Quelltext genommen und ihn lediglich verschoben
Wo da noch weitere Fehler mit dem Set Text z.B: waren habe ich anhand der Fehleranzeige dann auch rausfinden können.
Ich werde mal deine Lösung einfügen und gucken wie weit ich dann komme
Herzlichen dank.
Mfg Marvin
-
baba is Awesome schrieb:
Naja zwutz hat meinen Quelltext genommen und ihn lediglich verschoben
Nur verschoben?
Dir ist der Unterschied zwischenui->zahl->text().toFloat();
und
toFloat( ui->zahl->text() );
hoffentlich bewusst...
-
Logisch ist es mir bewusst. Aber es ist nunmal so das es nur verschieben von Poisitionen sind. Auch wenn die Aussagen nicht zu vergleichen sind.
Allerdings habe cih ein Problem mit meinen Programm. Unzawr bekomme ich keine negativen Zahlen. Kann das an deiner Methode liegen ?
-
Wir brauchen Code.
Du brauchst debugger.Unzawr bekomme ich keine negativen Zahlen
Sry, aber damit kann man wenig anfangen... Werd genauer.
Im übrigen bietet sich für dich eine QDoubleSpinBox an, da musst du nicht konvertieren, und Mist eintragen kann man auch nicht.
-
Na jetzt wirst du aber Frech
Lag an meinen Quellcode
Und debuggen isn Nice Joke wenn man keine Fehlermeldung hatIst aufjedenfall behoben danke für die ganze Hilfe falls noch einmal was kommt mache ich einen neuen topic auf
Denke das Thema ist durch.
Mfg Marvin
-
baba is tired schrieb:
Na jetzt wirst du aber Frech
Wenn du meinst, war kurz und bündig das bemängelt, was zu einer schnellen Behebung deines Problemes fehlt.
Und debuggen isn Nice Joke wenn man keine Fehlermeldung hat
Debuggen ist nie ein Joke, wenn dir das geraten wird. Im Ernst, du hattest noch nie einen ordentlichen in der Hand, oder? (Keine Gegenfragen jetzt!)
Mit einem Debugger kann man Breakpoints setzen, insbesondere dann den Wert einer Variable überprüfen und bestimmte Abbruchbedingungen setzen.
Damit kannst du relativ schnell herausfginden, unter welchen Umständen bei dir keine negativen Zahlen rauskommen.
Bei sowas hilft eigentlich nur debuggen. (Bei dir reicht ein kurzes cout << var << endl; da es wohl nicht wirklich viel Code ist, aber lass das mal auf > 1000 Zeilen anschwellen, dann suchst du dich dumm und dämlich...)
-
Du stehst nicht auf Smalltalk oder? Das mit Frech war einfahc bissel Fun
Klar habe ich gelernt zu debuggen etc. Allerdings studiere ich menen Quelltext erst 1-2 Stunden ausführlich mit meinen Augen. Und so was es jetzt auch das eine Frage der Logik war und nciht eine Frage des Quelltextes. Immerhin lief das Programm ja. Nunja es ist jetzt fast fertig und so mache ich jetzt auch feierabend.
Ich hoffe um 5 Uhr kommt auch dein Humor heim
(Ist jetzt keine Kritik nur meine Meinung. Trotzdem bin ich sehr Dankbar über deine Hilfe die vorallem Kompetent war(Und ja da hilft auch der beste Humor nciht weiter wenn die kompetenz fehlt :P))
So schönen Tag noch
Mfg Marvin