将 qint64 转换为 QString

Convert qint64 to QString

本文关键字:QString 转换 qint64      更新时间:2023-10-16

使用其他类型,我可以轻松地执行以下操作

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

我已经注释掉了破坏代码的行。我对日期有同样的问题,但习惯于字符串来转换它。我希望 qint64 会有类似的解决方案。

您可能正在寻找QString::number(qlonglong, int) .

更笼统的回答,因为很多人来到这里试图找到标题中确切问题的答案:

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

您需要为此编写以下代码:

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(...)静态方法的文档,从此处开始。您将需要与 qint64 匹配的变体,这是 qlonglong 覆盖。