2013-09-24 41 views
6

Với loại khác tôi có thể dễ dàng làm điều gì đó nhưChuyển đổi qint64 để QString

mitm.created().toString("yyyy-MM-dd") 

Có một chức năng tương tự để biến một qint64 thành một QString? Bạn có thể tìm thấy mã bên dưới.

fileArray.append("["); 
    foreach(QFileInfo mitm, mDir.entryInfoList(QDir::Files)){ 
     fileArray.append("{\"filePath\": \""); 
     fileArray.append(mitm.absoluteFilePath()); 
     fileArray.append("\","); 
     fileArray.append("\"fileCreated\": \""); 
     fileArray.append(mitm.created().toString("yyyy-MM-dd")); 
     fileArray.append("',"); 
     fileArray.append("'fileSize': '"); 
//  fileArray.append(mitm.size()); 
     fileArray.append("\"}"); 
     if(fileCount!=mDir.entryInfoList(QDir::Files).count()-1){ fileArray.append(","); } 
     fileCount++; 
    } 
    fileArray.append("]"); 

Tôi đã nhận xét dòng bị ngắt mã. Tôi đã có cùng một vấn đề với ngày nhưng sử dụng toString để chuyển đổi nó. Tôi đã hy vọng sẽ có một giải pháp tương tự cho qint64.

+0

'std :: to_string' – syam

+0

Bạn đang cố gắng để chuyển đổi nó vào một ngày chuỗi, hoặc nhận được một chuỗi đại diện của số? – Chris

+0

Tôi đang cố gắng chuyển đổi nó thành một chuỗi chứa kích thước tệp. Tôi không chắc chắn cách áp dụng các câu trả lời được đề xuất cho mã của mình. –

Trả lời

4

Bạn sẽ cần phải viết mã sau đây cho rằng:

fileArray.append("["); 
foreach(QFileInfo mitm, mDir.entryInfoList(QDir::Files)){ 
    fileArray.append("{\"filePath\": \""); 
    fileArray.append(mitm.absoluteFilePath()); 
    fileArray.append("\","); 
    fileArray.append("\"fileCreated\": \""); 
    fileArray.append(mitm.created().toString("yyyy-MM-dd")); 
    fileArray.append("',"); 
    fileArray.append("'fileSize': '"); 
    fileArray.append(QString::number(mitm.size())); 
    fileArray.append("\"}"); 
    if(fileCount!=mDir.entryInfoList(QDir::Files).count()-1){ fileArray.append(","); } 
    fileCount++; 
} 
fileArray.append("]"); 

Xem tài liệu của QString::number(...) phương pháp tĩnh để biết chi tiết, bắt đầu here. Bạn sẽ cần biến thể khớp với qint64 là ghi đè qlonglong.

3

trả lời tổng quát hơn, bởi vì có rất nhiều người bị ở đây cố gắng tìm câu trả lời cho câu hỏi chính xác trong tiêu đề:

QDateTime lm = QFileInfo(QFile(current)).lastModified(); 
qint64 epoch = lm.toMSecsSinceEpoch(); 
QString str = QString::number(epoch); // actual conversion 
Các vấn đề liên quan