Có chức năng QString
mất int và xuất kết quả dưới dạng QString
?Làm thế nào để chuyển đổi int để QString?
Trả lời
Sử dụng QString::number()
:
int i = 42;
QString s = QString::number(i);
Trong đó là hình thức đơn giản, sử dụng câu trả lời của Georg Fritzsche
Đối với một chút nâng cao, bạn có thể sử dụng này,
QString QString::arg (int a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char(' ')) const
Lấy tài liệu và ví dụ here ..
Thật không may, liên kết đến trang web của Nokia không còn hoạt động nữa. –
Và nếu bạn muốn đặt nó vào chuỗi trong một số ngữ cảnh văn bản, hãy quên đi toán tử +
. Chỉ cần làm:
// 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);
Vì bạn đề cập đến toán tử '+', cẩn thận xung quanh các số nguyên, vì nó có thể hoạt động tốt nhưng bên trong, thực thi 'operator + (const QString & s, char c)' được gọi, và chuỗi không chứa số nguyên như số nhưng nó 'QChar :: fromAscii (c)' tương đương – x29a
Vì bạn đề cập đến toán tử +, bạn có thể thực sự làm điều đó, nhưng hiểu những gì đang xảy ra: QString p = s + QString :: number (1); là s một QString hoạt động hoàn hảo. Vì vậy, về cơ bản QString + QString là không sao, QString + int ** bad **. –
Tôi luôn sử dụng QString::setNum()
.
int i = 10;
double d = 10.75;
QString str;
str.setNum(i);
str.setNum(d);
setNum()
bị quá tải theo nhiều cách. Xem tham chiếu lớp QString
.
Tuy nhiên, lựa chọn khác là sử dụng QTextStream và <<
điều hành theo cách tương tự như bạn sẽ sử dụng cout
trong C++:
QPoint point(5,1);
QString str;
QTextStream(&str) << "Mouse click: (" << point.x() << ", " << point.y() << ").";
// OUTPUT:
// Mouse click: (5, 1).
Bởi vì điều hành <<()
đã quá tải, bạn có thể sử dụng nó cho nhiều loại, không chỉ int
. QString::arg()
bị quá tải, ví dụ arg(int a1, int a2)
, nhưng không có arg(int a1, QString a2)
, do đó, sử dụng QTextStream()
và nhà điều hành <<
thuận tiện khi định dạng chuỗi dài hơn với các loại hỗn hợp.
Chú ý: Bạn có thể bị cám dỗ để sử dụng cơ sở sprintf()
để bắt chước phong cách C printf()
báo cáo, nhưng nó được khuyến khích để sử dụng QTextStream
hoặc arg()
vì họ hỗ trợ Unicode string
s.
Hơn nữa để chuyển đổi bất cứ điều gì bạn muốn, bạn có thể sử dụng QVariant
. Đối với một int
đến một QString
bạn nhận được:
QVariant(3).toString();
Một float
đến một string
hoặc một string
đến một float:
QVariant(3.2).toString();
QVariant("5.2").toFloat();
'QVariant' rulez! –
Hãy gọi cho tôi các loại hạt, nhưng tôi muốn sử dụng nhiều hơn câu hỏi là "Cách chuyển đổi số thành QString?", Đây là câu trả lời chính cho chuyển đổi nhẹ và các câu trả lời khác cho các phương pháp điều trị đặc biệt. – mr3
Chỉ cần cho đầy đủ, bạn có thể sử dụng thư viện tiêu chuẩn và làm QString qstr = QString::fromStdString(std::to_string(42));
- 1. Làm thế nào để chuyển đổi QString thành int?
- 2. Làm thế nào để Chuyển đổi int [] để int [,] - C#
- 3. Làm thế nào để chuyển đổi mảng int thành int?
- 4. Chuyển đổi qint64 để QString
- 5. làm thế nào để chuyển đổi int để UINT
- 6. Làm thế nào để chuyển đổi IntPtr để int
- 7. Làm thế nào để thay đổi chuỗi thành QString?
- 8. Làm thế nào để chuyển đổi Integer thành int?
- 9. Làm cách nào để chuyển đổi int? vào int
- 10. Chuyển đổi bool thành QString
- 11. Chuyển đổi BitSet để int
- 12. Chuyển đổi enum để int
- 13. Làm thế nào để chuyển đổi System.Linq.Enumerable.WhereListIterator <int> thành Danh sách <int>?
- 14. Cách tốt nhất để chuyển đổi std :: wstring thành QString
- 15. Làm thế nào để chuyển đổi int để const int để gán kích thước mảng trên stack?
- 16. Chuyển đổi NSData để int
- 17. Làm cách nào để chuyển đổi chuỗi C++ thành int?
- 18. OCaml - Làm cách nào để chuyển đổi int thành chuỗi?
- 19. Làm thế nào để chuyển đổi một mảng boolean để một mảng int
- 20. Làm thế nào để chuyển đổi Varchar để Int trong sql server 2008?
- 21. Làm thế nào để chuyển đổi phao để int với Java
- 22. Int để Float để Int chuyển đổi chính xác mất
- 23. chuyển đổi int để std :: string
- 24. Chuyển đổi QDomElement đến lớp QString/container
- 25. Làm cách nào để chuyển đổi giá trị con trỏ thành QString?
- 26. Chuyển đổi WCHAR thành QString trong Qt
- 27. Chuyển đổi QString thành std :: string
- 28. Chuyển đổi kép để Int, làm tròn xuống
- 29. Char để QString
- 30. php chuyển đổi định dạng int để int
Đây là câu hỏi thú vị hơn: có cách nào nhanh hơn không? Tôi đã gặp phải một vấn đề mà phiên bản này gần như mất nhiều thời gian hơn toàn bộ quá trình xử lý sau đó ... – Zeks
Sau đó, bạn có thể muốn làm việc trên bộ đệm được phân bổ trước ... nhưng điều này nghe giống như một câu hỏi riêng biệt. –