16进制与10进制转换(Qt)

简介: 16进制与10进制转换(Qt)

一、16进制转10进制

1. 数字转换字符串

QString Num2Str(quint8 hex)
{
    QString str = QString("%1").arg(hex, 0, 10);
    return str;
}

2. 数字转换数字

1. int Num2Num(quint8 hex)
2. {
3.     QString str = QString("%1").arg(hex, 0, 10);
4. int res = num.toInt();
5. return res;
6. }

3. 字符串转换数字

1. int Str2Num(QString str)
2. {
3. bool ok;
4. int res = str.toInt(&ok, 16);
5. return res;
6. }

4. 字符串转换字符串

QString Str2Str(QString str)
{
    bool ok;
    int res = str.toInt(&ok, 16);
    QString str_ = QString("%1").arg(res , 0, 10);
    return str_;
}

二、10进制转16进制

1. 数字转换字符串

QByteArray Num2Str(int num)
{
    QByteArray arr;
    arr.setNum(num, 16);    
    return arr;
}

2. 数字转换数字

QByteArray Str2Num(QString str)
{
    QByteArray arr;
    arr.setNum(str.toInt(), 16);
    return arr;
}

3. 字符串转换数字

QByteArray Str2Num(QString str)
{
    QByteArray arr;
    arr.setNum(str.toInt(), 16);
    return arr;
}

4. 字符串转换字符串

QString Str2Str(QString str)
{
    QString str_= QString("%1").arg(str.toInt(),0,16);
    return str_;
}

三、终极秘诀

uint32_t tmp = static_cast<uint32_t>(hex.toUInt(nullptr, 16));


相关文章
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
557 0
|
XML 设计模式 JSON
QT 项目视图(QListView&QTreeView&QTableView)和项目部件(QListWidget&QTreeWidget&QTableWidget)详解-1
QT 项目视图(QListView&QTreeView&QTableView)和项目部件(QListWidget&QTreeWidget&QTableWidget)详解
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
4457 4
|
容器
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
2882 2
|
存储 自然语言处理 机器人
ROS2教程06 ROS2行动
这篇文章是关于ROS2(Robot Operating System 2)行动(Action)通信机制的教程,包括行动的概念、特点、命令行工具的使用,以及如何编写行动的客户端和服务器代码,并介绍了如何测试行动通信。
1083 4
ROS2教程06 ROS2行动
|
存储 编译器 程序员
QT源码学习 | 编译器知识点
本文是关于QT源码学习中编译器知识点的总结,包括`__declspec`、`Q_FUNC_INFO`、`__assume`、`__attribute__`、`__ASSEMBLER__`、`QT_SUPPORTS`和`QT_WARNING_DISABLE_MSVC`等宏定义的使用和作用,以及相关参考链接。
580 0
QT源码学习 | 编译器知识点
|
JavaScript API
Qt HTTP和HttpServer
Qt HTTP和HttpServer
951 1
QT6使用CMamke将qml打包成dll
QT6使用CMamke将qml打包成dll
797 0
|
编译器
“Could not determine which ”make“ command to run. Check the ”make“ step in the build configuration.”
“Could not determine which ”make“ command to run. Check the ”make“ step in the build configuration.”
594 0
|
分布式计算 Java 大数据
实战:基于Java的大数据处理与分析平台
实战:基于Java的大数据处理与分析平台