Typumwandlung int -> zu string und umgekehrt ?
-
void MainWindow::addValuetoLine(int val){ QString p = ui->lineEdit->text(); if(p=="0") p = val.toString; else p.append(val.toByte()); ui->lineEdit->setText(p); }Diese Methode sollte, wenn lineEdit eine 0 enthält, diese überschreiben, ansonsten immer den übergebenen Wert anhängen.
Ich wüste nun gerne den Grund, warum dies zu folgender Fehlermeldung führt und wie man dies umgehen könnte.
calc/mainwindow.cpp:52: error: request for membertoString' inval', which is of non-class typeint'calc/mainwindow.cpp:54: error: request for member
toByte' inval', which is of non-class typeint'mfg
donchris
-
die methoden toString und toByte existiert für int nicht, da int keine klasse mit methoden darstellt.
es gibt zb die methode atoi() die du verwenden kannst.
jperl
-
if(p=="0") p = QString::number(val);Was du mit "toByte() bezwecken willst ist mir unklar...
-
rodler schrieb:
if(p=="0") p = QString::number(val);Was du mit "toByte() bezwecken willst ist mir unklar...
Ich will an einen bestehenden String ein Zeichen anhängen.
x.append('z'); funktioniert daher habe ich einfach angenommen, dass x.append(irgendeinint.toByte()) auch funktioniert. Wie könnte ich das realisieren ?lg
-
Dann schreib ins richtige Unterforum.
Hier geht es um die Sprache C++, nicht um irgendwelchen QString-Quatsch.Oder verwende std::string/std::stringstream, dann geht das ganz leicht und ohne blödes Gefrickel.