¿Hay una función QString
que toma int y la da como QString
?Cómo convertir int a QString?
Respuesta
Uso QString::number()
:
int i = 42;
QString s = QString::number(i);
En su forma más simple, utilice la respuesta de Georg Fritzsche
Por un poco avanzado, puede utilizar esto,
QString QString::arg (int a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char(' ')) const
Obtener el documentación y un ejemplo here ..
Desafortunadamente, el enlace al sitio de Nokia ya no funciona. –
Y si desea ponerlo en cadena dentro de algún contexto de texto, olvídese del operador +
. Basta con hacer :
// Qt 5 + C++11
auto i = 13;
auto printable = QStringLiteral("My magic number is %1. That's all!").arg(i);
// Qt 5
int i = 13;
QString printable = QStringLiteral("My magic number is %1. That's all!").arg(i);
// Qt 4
int i = 13;
QString printable = QString::fromLatin1("My magic number is %1. That's all!").arg(i);
Como mencionas el operador '+', ten cuidado con los enteros, ya que podría funcionar pero internamente se llama a la implementación 'operator + (const QString & s, char c)', y la cadena no contendrá el entero como número pero su 'QChar :: fromAscii (c)' equivalent – x29a
Como mencionas el operador +, puedes hacerlo, pero entendiendo qué está pasando: QString p = s + QString :: number (1); siendo s un QString funciona perfectamente. Entonces, básicamente QString + QString está bien, QString + int ** malo **. –
siempre uso QString::setNum()
.
int i = 10;
double d = 10.75;
QString str;
str.setNum(i);
str.setNum(d);
setNum()
está sobrecargado de muchas maneras. Ver referencia de clase QString
.
Sin embargo, otra opción es utilizar QTextStream y el operador <<
casi de la misma manera como lo haría con cout
en C++:
QPoint point(5,1);
QString str;
QTextStream(&str) << "Mouse click: (" << point.x() << ", " << point.y() << ").";
// OUTPUT:
// Mouse click: (5, 1).
Debido operador <<()
ha sido sobrecargado, se puede usar para varios tipos, no solo int
. QString::arg()
está sobrecargado, por ejemplo arg(int a1, int a2)
, pero no hay arg(int a1, QString a2)
, por lo que es conveniente usar QTextStream()
y operador <<
al formatear cadenas más largas con tipos mixtos.
Precaución: Usted puede verse tentado a utilizar el servicio de sprintf()
para imitar el estilo C printf()
declaraciones, pero se recomienda utilizar QTextStream
o arg()
porque soportan Unicode string
s.
Además, para convertir lo que quieras, puedes usar QVariant
. Para una int
a un QString
que se obtiene:
QVariant(3).toString();
Un float
a un string
o una string
a un flotador:
QVariant(3.2).toString();
QVariant("5.2").toFloat();
'QVariant' rulez! –
Llámame loco, pero obtendría más uso de la pregunta como "¿Cómo convertir un número a QString?", Esta es la respuesta principal para conversiones livianas, y las otras respuestas para tratamientos especiales. – mr3
simplemente para la corrección, puede utilizar la biblioteca estándar y hacer QString qstr = QString::fromStdString(std::to_string(42));
- 1. Cómo convertir QString a std :: string?
- 2. cómo convertir std :: string a QString
- 3. Cómo convertir int * a int
- 4. Convertir un int a un QString con cero relleno (ceros a la izquierda)
- 5. Convertir std :: string en QString
- 6. Cómo convertir entero a int?
- 7. Cómo convertir int [] a byte []
- 8. Cómo convertir a entero int
- 9. ¿Convertir int a cadena?
- 10. Convertir iterador a int
- 11. ¿Convertir ascii a int?
- 12. convertir doble a int
- 13. php convertir int formateado a int
- 14. convertir int color a int componentes
- 15. lista <int> convertir a int []
- 16. convertir int a std :: string
- 17. Haskell: Convertir Int a cadena
- 18. En Kotlin ¿Cómo puedo convertir un int? a un Int
- 19. Convertir single-char a int
- 20. conversión de QString a char *
- 21. Cómo convertir flotador a int en Java
- 22. Cómo convertir int o bool a checkState
- 23. Cómo convertir Nonetype a int o string?
- 24. Cómo convertir un int a una cadena?
- 25. Cómo convertir float a int en smarty
- 26. cómo convertir de int a char *?
- 27. ¿Cómo convertir un Enum a un int?
- 28. Cómo convertir long a int en .net?
- 29. cómo convertir ascii a unsigned int
- 30. Cómo convertir un NSInteger a un int?
Aquí está la pregunta más interesante: ¿hay una manera más rápida? Me he encontrado con un problema donde esta versión casi lleva más tiempo que todo el proceso después ... – Zeks
Entonces probablemente quiera trabajar en búferes preasignados ... pero esto suena como una pregunta por separado. –