Qt 16进制和10进制之间的转换

发布时间 2023-04-10 15:24:13作者: 一杯清酒邀明月

一、16转换为10进制。
1、数字转换为字符串

1      quint8 Hex = 0x0F;
2      QString num = QString("%1").arg(Hex,0,10);
3      //QString num = QString::number(Hex,10);

2、数字转换为数字

1      quint8 Hex = 0x0F;
2      QString num = QString("%1").arg(Hex,0,10);
3      //QString num = QString::number(Hex,10);
4      int dec = num.toInt();

3、字符串转换为数字

1      QString Hex = "0x0F";
2      bool ok;
3      int dec = Hex.toInt(&ok,16);    //以16进制读入

4、字符串转换为字符串

1      QString Hex = "0x0F";
2      bool ok;
3      int dec = Hex.toInt(&ok,16);
4      QString num = QString("%1").arg(dec,0,10);
5 //     QString num = QString::number(dec,10);

二、10进制转换16进制。

1、数字转换为字符串

1      int dec = 15;
2      QString num = QString("%1").arg(dec,0,16);
3      //QString num = QString::number(dec,16);

2、数字转换为数字

1      QByteArray ba;
2      int dec = 15;
3      ba.setNum(dec,16);

3、字符串转换为数字

1      QByteArray ba;
2      QString dec = "15";
3      ba.setNum(dec.toInt(),16);

4、字符串转换为字符串

1      QString dec = "15";
2      //QString num = QString("%1").arg(dec.toInt(),0,16);
3      QString num = QString::number(dec.toInt(),16);