QString in Integer umwandeln
-
Hi,
ich versuche gerade einen QString (Qt) in einen Integer umzuwandeln.iOperand1 = stoi(Operand1);
funktioniert nicht, da sich der Präprozessorbefehl #include <string> nicht auf QString bezieht.
Fehlermeldung: Use of undeclared identifier 'stoi'bei
iOperand1 = static_cast<int>(Operand1);
kommt: cannot convert QString to int without a conversion operator
bei
iOperand1 = static_cast<int>(Operand1*1);
kommt: invalid operands to binary expression (QString and int)
-
-
funktioniert nicht, da sich der Präprozessorbefehl #include <string> nicht auf QString bezieht.
Es funktioniert nicht, weil QString kein std::string ist . Außerdem fehlt möglicherweise noch das std:::.
-
Wenn du mit dem QT-Creator arbeitest hast du eine Hilfe, die dir alle Funktionen von QString anzeigen kann. Markiere QString im Quellcode und drücke F1 und dann scrolle mal durch die Funktionen. Hat mir schon oft geholfen.
Relevant sind meistens nur diese hier:
QString::toInt()
QString::toDouble()
QString::toStdString() ( für STL-kompatibilität )Umgekehrt geht das Formatieren von Zahlen so ( Zahl -> QString ):
QString::numberbzw. wenn du ein Komma als Dezimaltrenner willst, geht das mit QLocale
QLocale::toStringdouble zahl = 17.3333; QLocale Loc; QString myString = Loc.toString( zahl, 'f', 2 ); // Formatiert auf 2 Stellen nach dem Komma.
-
Hey, vielen Dank!
Hab es mit:iOperand1 = Operand1.toInt();
umgewandelt.