QT内存标准格式转换(还有时间格式,传输速度)

1.内存,时间格式,传输速度的标准格式输出

我们经常会遇到byte内存转为KB,MB,GB;还有秒数转为时分秒这种格式;今天就来学习和记录一下:

头文件

transition.h

    QString transitonMem(long long byte);
    QString transitionSpeed(long long byte);
    QString transitionTime(int t);

源文件

transiton.cpp

QString Transition::transitionMem(long long byte)
{
    if(byte < (1 << 10))
    {
        return QString::number(byte) + "KB";
    }
    else if(byte < (1 << 20))
    {
        double kb = byte *1.0 / (1 << 10);
        return QString::number(kb, 'f', 2) + "MB";
    }
    else if(byte < (1 << 30))
    {
        doublie mb = byte *1.0 / (1 << 20);
        return QString::number(mb, 'f', 2 ) + "GB";
    }
    else
    {
        double gb = byte *1.0 / (1 << 30);
        return QString::number(gb, 'f', 2) + "TB";
    }
}

QString Transition::transitionSpeed(long long byte)
{
    if(byte < (1 << 10))
    {
        return QString::number(byte) + "B/s";
    }
    else if(byte < (1 << 20))
    {
        double kb = byte *1.0 / (1 << 10);
        return QString::number(kb, 'f', 2) + "KB/s";
    }
    else if(byte < (1 << 30))
    {
        doublie mb = byte *1.0 / (1 << 20);
        return QString::number(mb, 'f', 2 ) + "MB/s";
    else
    {
        double gb = byte *1.0 / (1 << 30);
        return QString::number(gb, 'f', 2) + "GB/s";
    }
}

QString Transiton::transitionTime(int t)
{
    int h = t /60 / 60;
    int m = t / 60 % 60;
    int s = t % 60 % 60;
    return QString("%1:%2:%3").arg(QString::number(h), 2, '0').arg(QString::number(m), 2, '0').arg(QString::number(s), 2, '0'); 
}

main函数中调用

main.cpp

ui->label_01->setText(transitionMem(query.value(0).toFloat()));
ui->label_02->setText(transitionSpeed(query.value(1).toFloat()));
ui->label_03->setText(transitionTime(query.value(2).toFloat()));

2.float与QString相互转换

x与y其中的一个必须为float或者double,否者算出来的z可能为0,自动四舍五入
float z = x / y;
QString str = QString::number(z, 'f', 2) + "%";

float f = QString(3.1415926).toFloat();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值