Existe uma QString
função que pega um int e o gera como um QString
?
c++
qt
type-conversion
Ahmad
fonte
fonte
E se você deseja colocá-lo em string dentro de algum contexto de texto, esqueça o
+
operador. Simplesmente faça:fonte
+
operador, inteiros ao redor cuidadosos, uma vez que pode muito bem funcionar, mas internamente, aoperator+(const QString &s, char c)
implementação é chamado, ea cadeia não vai conter o número inteiro como número, mas seuQChar::fromAscii(c)
equivalenteAlém disso, para converter o que quiser, você pode usar
QVariant
. Para umint
a umQString
você obtém:A
float
para astring
ou astring
para afloat
:fonte
QVariant
rulez!Outra opção é usar o QTextStream e o
<<
operador da mesma maneira que você usariacout
no C ++:Como o operador
<<()
foi sobrecarregado, você pode usá-lo para vários tipos, não apenasint
.QString::arg()
está sobrecarregado, por exemploarg(int a1, int a2)
, mas não existearg(int a1, QString a2)
, portanto, useQTextStream()
e operator<<
é conveniente ao formatar seqüências mais longas com tipos mistos.Cuidado: Você pode ficar tentado a usar o
sprintf()
recurso para imitarprintf()
instruções de estilo C , mas é recomendável usarQTextStream
ouarg()
porque elas oferecem suporte a Unicodestring
s.fonte
Eu sempre uso
QString::setNum()
.setNum()
está sobrecarregado de várias maneiras. Veja aQString
referência da classe.fonte
Em sua forma mais simples, use a resposta de Georg Fritzsche
Um pouco avançado, você pode usar isso,
Obtenha a documentação e um exemplo aqui ..
fonte
Apenas para completar, você pode usar a biblioteca padrão e fazer
QString qstr = QString::fromStdString(std::to_string(42));
fonte
Se você precisar de formatação de número com reconhecimento de localidade, use QLocale :: toString.
fonte