0

如何将变量double合并string为一个函数?

我将接收double参数的函数称为:

counter(&filesize),

比调用函数:

void Properties::counter(double *filesize)
{
    double res = *filesize;
    QString filetyperes;

    if (res <= 1024) { res = res; filetyperes = "B"; }
    else if (res > 1024 && res <= 1024*1024) { res = res / 1024; filetyperes = "KiB"; }
    else if (res > 1024*1024 && res <= 1024*1024*1024) { res = res / 1024 / 1024; filetyperes = "MiB"; }
    else if (res > 1024*1024*1024) { res = res / 1024 / 1024 / 1024; filetyperes = "GiB"; }

    *filesize = res;
}

它将接收双参数并正确计算。

但是,我有转换 MiB/KiB 所以而不是

*filesize = res + filetyperes它返回 example ( 1 KiB) 作为示例。

但是我的参数只返回双倍,所以我可以添加(const double *filesize)但它会引发错误。

header.h 是:

private:
      void counter(double *filesize = 0);

谢谢你。

4

1 回答 1

0

这应该返回一个 QString 与您的文件大小和文件类型连接:

QString Properties::counter(double *filesize)
{
    double res = *filesize;
    QString filetyperes;

    if (res <= 1024) { res = res; filetyperes = "B"; }
    else if (res > 1024 && res <= 1024*1024) { res = res / 1024; filetyperes = "KiB"; }
    else if (res > 1024*1024 && res <= 1024*1024*1024) { res = res / 1024 / 1024; filetyperes = "MiB"; }
    else if (res > 1024*1024*1024) { res = res / 1024 / 1024 / 1024; filetyperes = "GiB"; }

    *filesize = res;
    return QString::number(res) + filetyperes;
}
于 2013-03-19T21:01:19.957 回答