Qt5:如何修改下载速度以显示1.xx MB / s而不是1.xxxxx MB / s?

时间:2014-02-25 18:21:52

标签: c++ qt qt5

 ui->progressBar->setTextVisible(true);
 ui->progressBar->setMaximum(totalBytes);
 ui->progressBar->setValue(readBytes);

double speed = readBytes * 1000.0 / downloadTime.elapsed();
    QString unit;
    if (speed < 1024) {
        unit = "bytes/sec";
    } else if (speed < 1024*1024) {
        speed /= 1024;
        unit = "kB/s";
    } else {
        speed /= 1024*1024;
        unit = "MB/s";
    }

    QString spd = QString::number(speed);

    ui->progressBar->setFormat(spd+" "+unit);

它的工作方式如下:http://i.imgur.com/RWviR8P.png

如何修改此代码以显示速度,如1.XX MB / s? 谢谢你的帮助

1 个答案:

答案 0 :(得分:3)

您应该使用QString::number的第三个参数:

QString::number(1.6183456, 'f', 2)
// -> "1.62"