QT技巧系列(11)常用数据类型转换函数代码大全

QT常用数据类型转换函数代码大全

 

整理常用的QT/C++几十个数据格式转换的函数,后续逐渐补充,作为备忘,供需要的时候参考。

基本上函数名称就说明了函数功能,所以不再注释。

int strHexToDecimal(const QString &strHex)
{
    bool ok;
    return strHex.toInt(&ok, 16);
}

int strDecimalToDecimal(const QString &strDecimal)
{
    bool ok;
    return strDecimal.toInt(&ok, 10);
}

int strBinToDecimal(const QString &strBin)
{
    bool ok;
    return strBin.toInt(&ok, 2);
}

//二进制字符串转化为char  如将01000001转换为A 
QByteArray strBinToChar(const QString &data)
{
    //QString result;s
    int lenl = data.size();
    int lenlg = lenl/8;
    QByteArray result;
    result.resize(lenlg);
    for (int t=0; t< (lenlg);t++)  //可转换多个 每个8个0,1
    {
            QString dataTmp = data.mid(t*8,8);
            char c='\0';
            for(int i=0;i<8;i++)
            {
                if(dataTmp[i]=='1') c=(c<<1)|1;
                else c=c<<1;
            }
            //result+=(unsigned char)c;  //QSTRING的方法
            result[t] =(unsigned char)c;
    }
    return  result;
}


QString strHexToStrBin(const QString &strHex)
{
    uchar decimal = strHexToDecimal(strHex);
    QString bin = QString::number(decimal, 2);
    uchar len = bin.length();

    if (len < 8) {
        for (int i = 0; i < 8 - len; i++) {
           
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值