2013-09-24 26 views
6

z innymi rodzajami mogłem zrobić coś podobnegoKonwersja qint64 do QString

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

Czy istnieje podobna funkcja zamienić qint64 w QString? Możesz znaleźć poniższy kod.

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("]"); 

Skomentowałem linię, która łamie kod. Miałem ten sam problem z datą, ale użyłem go do przekonwertowania go. Miałem nadzieję, że będzie podobne rozwiązanie dla qint64.

+0

'std :: to_string' – syam

+0

Starasz się przekształcić go w terminie ciąg, lub uzyskać ciąg znaków reprezentujących numer? – Chris

+0

Próbuję przekonwertować go na ciąg, który zawiera rozmiar pliku. Nie wiem, jak zastosować sugerowane odpowiedzi do mojego kodu. –

Odpowiedz

4

Musisz napisać następujący kod na to:

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("]"); 

Zobacz dokumentację QString::number(...) metod statycznych do szczegółów, począwszy here. Będziesz potrzebował wariantu dopasowującego qint64, który jest nadpisaniem qlonglong.

3

Więcej ogólna odpowiedź, ponieważ wiele osób trafia tutaj próbuje znaleźć odpowiedź na pytanie, dokładnie w tytule:

QDateTime lm = QFileInfo(QFile(current)).lastModified(); 
qint64 epoch = lm.toMSecsSinceEpoch(); 
QString str = QString::number(epoch); // actual conversion