2013-09-24 60 views
6

與其他類型的我可以輕鬆地做類似轉換qint64到QString的

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

是否有類似的功能,把一個qint64成QString的?你可以找到下面的代碼。

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

我已經註釋掉破壞代碼的行。我有與日期相同的問題,但用toString來轉換它。我希望qint64會有類似的解決方案。

+0

'的std :: to_string' – syam

+0

你是不是想將其轉換爲一個日期字符串,或獲取數字的字符串表示形式? – Chris

+0

我試圖將其轉換爲包含文件大小的字符串。我不確定如何將建議的答案應用於我的代碼。 –

回答

4

您將需要編寫下面的代碼爲:

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

見的QString::number(...)靜態方法的文檔詳細信息,開始here。您將需要與qlong64覆蓋的qlong64匹配的變體。

3

更概括的答覆,因爲有很多人送過來試圖找到答案的稱號確切問題:

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