【问题标题】:Convert qint64 to QString将 qint64 转换为 QString
【发布时间】:2013-09-30 07:42:23
【问题描述】:

对于其他类型,我可以轻松地做类似的事情

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 也有类似的解决方案。

【问题讨论】:

  • 您是想将其转换为日期字符串,还是获取数字的字符串表示形式?
  • 我正在尝试将其转换为包含文件大小的字符串。我不确定如何将建议的答案应用到我的代码中。

标签: c++ qt qt4 qstring qtcore


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      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 开始。您将需要匹配 qint64 的变体,即 qlonglong 覆盖。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-23
        • 2011-08-21
        • 2012-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多