Apakah ada QString
fungsi yang mengambil int dan mengeluarkannya sebagai QString
?
c++
qt
type-conversion
Ahmad
sumber
sumber
Dan jika Anda ingin memasukkannya ke dalam string dalam konteks teks tertentu, lupakan
+
operator. Cukup lakukan:sumber
+
operator, hati-hati di sekitar bilangan bulat, karena mungkin bekerja dengan baik tetapi secara internal,operator+(const QString &s, char c)
implementasinya disebut, dan string tidak akan berisi bilangan bulat sebagai angka tetapiQChar::fromAscii(c)
setaraSelain itu untuk mengonversi apa pun yang Anda inginkan, Anda dapat menggunakannya
QVariant
. Untukint
keQString
Anda mendapatkan:A
float
ke astring
ataustring
kefloat
:sumber
QVariant
rulez!Namun pilihan lain adalah menggunakan QTextStream dan
<<
operator dengan cara yang sama seperti yang Anda gunakancout
di C ++:Karena operator
<<()
kelebihan beban, Anda dapat menggunakannya untuk banyak jenis, bukan hanyaint
.QString::arg()
kelebihan beban, misalnyaarg(int a1, int a2)
, tetapi tidak adaarg(int a1, QString a2)
, jadi gunakanQTextStream()
dan operator<<
nyaman saat memformat string yang lebih panjang dengan tipe campuran.Perhatian: Anda mungkin tergoda untuk menggunakan
sprintf()
fasilitas ini untuk meniruprintf()
pernyataan gaya C , tetapi disarankan untuk menggunakanQTextStream
atauarg()
karena mereka mendukung Unicodestring
s.sumber
Saya selalu menggunakan
QString::setNum()
.setNum()
kelebihan beban dalam banyak hal. LihatQString
referensi kelas.sumber
Dalam bentuknya yang paling sederhana, gunakan jawaban Georg Fritzsche
Untuk sedikit mahir, Anda bisa menggunakan ini,
Dapatkan dokumentasi dan contohnya di sini ..
sumber
Hanya untuk kelengkapan, Anda dapat menggunakan pustaka standar dan melakukannya
QString qstr = QString::fromStdString(std::to_string(42));
sumber
Jika Anda membutuhkan pemformatan angka sadar-lokal, gunakan QLocale :: toString sebagai gantinya.
sumber