Czy istnieje funkcja QString
, która pobiera int i wyświetla ją jako QString
?Jak przekonwertować int na QString?
Odpowiedz
Zastosowanie QString::number()
:
int i = 42;
QString s = QString::number(i);
W swej najprostszej formie, użyj odpowiedź Georg Fritzsche
Dla nieco rozszerzone, można użyć tego
QString QString::arg (int a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char(' ')) const
Pobierz dokumentacja i przykład here ..
Niestety, łącze do witryny Nokia nie działa. –
A jeśli chcesz umieścić go w łańcuchu znaków w kontekście tekstowym, zapomnij o operatorze +
. Wystarczy zrobić:
// 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);
Ponieważ wspomniałeś o operatorze '+ ', uważając na liczby całkowite, ponieważ może to bardzo dobrze działać, ale wewnętrznie, wywoływana jest implementacja' operator + (const QString & s, char c) ', a ciąg nie będzie zawierał liczby całkowitej jako liczby, ale jej 'QChar :: fromAscii (c)' Odpowiadając – x29a
Od kiedy wymieniłeś operatora +, możesz to zrobić, ale zrozumienie co się dzieje: QString p = s + QString :: number (1); bycie s a QString działa idealnie. Tak więc, w zasadzie QString + QString jest w porządku, QString + int ** zły **. –
Zawsze używam QString::setNum()
.
int i = 10;
double d = 10.75;
QString str;
str.setNum(i);
str.setNum(d);
setNum()
jest przeciążony na wiele sposobów. Zobacz odniesienie do klasy: QString
.
Jeszcze inną opcją jest użycie QTextStream a operator w podobny sposób <<
jak można wykorzystać cout
w C++:
QPoint point(5,1);
QString str;
QTextStream(&str) << "Mouse click: (" << point.x() << ", " << point.y() << ").";
// OUTPUT:
// Mouse click: (5, 1).
Ponieważ operator <<()
został przeciążony, można go używać do wielu typów, nie tylko int
. QString::arg()
jest przeciążony, na przykład arg(int a1, int a2)
, ale nie ma arg(int a1, QString a2)
, więc używanie i operatora <<
jest wygodne podczas formatowania dłuższych ciągów o mieszanych typach.
Uwaga: Można ulec pokusie, aby skorzystać z możliwości sprintf()
naśladować klimatyzacji Styl printf()
wypowiedzi, ale zaleca się stosowanie QTextStream
lub arg()
ponieważ obsługują Unicode string
s.
Co więcej, aby przekonwertować, co chcesz, możesz użyć QVariant
. dla int
Do QString
otrzymasz:
QVariant(3).toString();
float
do string
lub string
do pływaka:
QVariant(3.2).toString();
QVariant("5.2").toFloat();
'Reguła QVariant'! –
Zadzwoń do mnie, ale bardziej wykorzystałem pytanie "Jak przekonwertować numer na QString?", Co jest główną odpowiedzią na małe konwersje i inne odpowiedzi na specjalne zabiegi. – mr3
Tylko dla kompletności, można użyć standardowej biblioteki i zrobić QString qstr = QString::fromStdString(std::to_string(42));
- 1. Jak przekonwertować QString do int?
- 2. Jak przekonwertować enum na QString?
- 3. Jak przekonwertować int * na int
- 4. Jak przekonwertować QString na std :: string?
- 5. Jak przekonwertować char na int?
- 6. Jak przekonwertować int na nsindexpath?
- 7. Jak przekonwertować IntPtr int
- 8. Qt: Konwertuj QString na szesnastkowy
- 9. Jak przekonwertować wartość wyliczenia na int?
- 10. Jak przekonwertować ciąg na float lub int?
- 11. Jak przekonwertować argument wiersza poleceń na int?
- 12. Jak przekonwertować Int na NSData w Swift?
- 13. Android jak przekonwertować int na ciąg?
- 14. OCaml - Jak przekonwertować int na string?
- 15. Jak przekonwertować int na bigint w golangu?
- 16. Jak przekonwertować ciąg na int w Pythonie?
- 17. Jak mogę przekonwertować BitArray na pojedynczy int?
- 18. Jak przekonwertować z int na char *?
- 19. Czysty sposób przekonwertować QString na char * (nie const char * !!!!)
- 20. Java przekonwertować obiekt tablicy na int tablicy
- 21. przekonwertować ciąg bajtów na int (python)
- 22. Jak sformatować QString?
- 23. Konwersja QVariant niestandardowego typu na QString
- 24. Konwersja int do QString z zerowym dopełnieniem (zera wiodące)
- 25. Jak zamienić "/" na "\\" używając QString replace()?
- 26. Jak przekonwertować Long to Int w Kotlin?
- 27. Jak przekonwertować int lub bool do checkState
- 28. Jak przekonwertować kolumnę Nvarchar do INT
- 29. Jak mogę przekonwertować ciąg [] na listę <int>?
- 30. Jak przekonwertować Varchar na Int w serwerze sql 2008?
Oto bardziej interesujące pytanie: czy istnieje szybszy sposób? Napotkałem problem, w którym ta wersja prawie zajmuje więcej czasu niż całe przetwarzanie później ... – Zeks
Wtedy prawdopodobnie chcesz pracować na wstępnie przydzielonych buforach ... ale brzmi to jak oddzielne pytanie. –