PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : QString zu double konvertieren



Krelian
25-11-2001, 11:33
Hallo,

vor kurzem habe ich mit Qt-Programmierung begonnen
(bzw. KDevelop + QT-Designer). Nachdem ich bisher nur
unter Windows Borland C++ kannte, ist das doch ein wenig
umständlicher.

Jedenfalls habe ich ein Problem mit QString. Wenn ich einen QString in zu double konvertieren möchte,
kommt dabei nicht ganz das heraus, was ich erwarte.

Beispiel:

QString test = "2";
test = test.toDouble();

Das Ergebnis (test) beträgt jetzt aber 109.38, was ich nicht verstehe.
Muss man das vielleicht anders konvertieren, oder habe ich irgendetwas vergessen?

anda_skoa
25-11-2001, 12:05
Hi!,


Original geschrieben von Krelian

vor kurzem habe ich mit Qt-Programmierung begonnen
(bzw. KDevelop + QT-Designer). Nachdem ich bisher nur
unter Windows Borland C++ kannte, ist das doch ein wenig
umständlicher.


Umständlich?
Ich bin von Java zu C++ gekommen und ich fand Qt ziemlich leicht zu benutzen :D




QString test = "2";
test = test.toDouble();


Wenn du es in einen double umwandeln willst, warum weist du es dann nicht einer Varibalen vom Typ double zu?

So wird da irgendwas konvertiert, weil QString keinen überladenen = Operator für double hat (eigentlich sollte sich da der Compiler zumindest zu einer Warning melden)

Ciao,
_

Krelian
25-11-2001, 12:13
Eigentlich wollte ich in einen Text aus einem QLineEdit-Element zu double konvertieren, damit ich damit rechnen kann. Oder sehe ich das falsch, dass der eingegebene Text ein String ist?

QString test;
test = this->LineEdit1->text();
test = test.toDouble();

Wenn das der falsche Weg ist, wie mache ich das richtig?

anda_skoa
25-11-2001, 12:25
Original geschrieben von Krelian
Eigentlich wollte ich in einen Text aus einem QLineEdit-Element zu double konvertieren, damit ich damit rechnen kann. Oder sehe ich das falsch, dass der eingegebene Text ein String ist?


Nein, dass siehst du völlig richitg.



QString test;
test = this->LineEdit1->text();
test = test.toDouble();

Wenn das der falsche Weg ist, wie mache ich das richtig?

Warum weist du den double Wert wieder der QString Varibale test zu?



QString test = this->LineEdit1->text();
double value = test.toDouble();


hth,
_

Krelian
27-11-2001, 13:22
Danke für die Antwort,

so klappts.