2013-09-24 58 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