Qt 10进制和16进制转换的使用示例

 更新时间:2023年09月12日 08:36:21   作者:FreeLikeTheWind.  
在编程过程中,处理16进制字符串与10进制数字之间的转换是很常见的需求,本文主要介绍了Qt 10进制和16进制转换的使用示例,具有一定的参考价值,感兴趣的可以了解一下

在项目开发中,如何进行进制转换,提供以下方法:

通过标准库std::stringstream进行10进制和16进制转换

10进制转换成16进制

#include <sstream>  
#include <string>
int decimalNumber = 255;  
std::stringstream ss;  
ss << std::hex << decimalNumber;  // 输出16进制数  
std::string hexNumber = ss.str();  
std::cout << "Decimal: " << decimalNumber << "\n";  
std::cout << "Hexadecimal: " << hexNumber << "\n";  
}

16进制转换成10进制

#include <sstream>  
#include <string>
std::string hexNumber = "FF";  
std::stringstream ss(hexNumber);  
int decimalNumber;  
ss >> std::hex >> decimalNumber;  // 输入16进制数,输出10进制数  
std::cout << "Hexadecimal: " << hexNumber << "\n";  
std::cout << "Decimal: " << decimalNumber << "\n";  
}

通过QString::number()和toInt()、setNumbe()等方法进行转换

10进制转换成16进制

fun1:QString::number()
number()函数是重载函数
static QString number(double, char f=‘g’, int prec=6);第一个参数是值,第二个参数指定数值格式,第三个参数精度
static QString number(int, int base=10);第一个参数是值,第二个参数是基准

int nDecValue = 255;
QString strRes;
strRes = QString::number(nDecValue, 16);
qDebug().noquote() << "10进制转16进制:" << strRes;

输出结果

10进制转16进制: ff 

fun2:QString::number().rightJustified()
rightJustified(int width, QChar fill = QLatin1Char(’ ‘), bool trunc = false)函数:右对齐,不足width,左填充fill字符
leftJustified(int width, QChar fill = QLatin1Char(’ '), bool trunc = false)函数:左对齐,不足width,右填充fill字符

int nDecValue = 10;
QString strRes;
strRes = QString::number(nDecValue, 16).rightJustified(2, '0');
qDebug().noquote() << "10进制转16进制:" << strRes;

输出结果

10进制转16进制: 0a

fun3:QString(“%1”).arg()

int nDecValue = 255;
QString strRes;
strRes = QString("%1").arg(nDecValue , 0, 16);
qDebug().noquote() << "10进制转16进制:" << strRes;

输出结果

10进制转16进制: a

fun4:QByteArray::number()

int nNum = 255;
QString strRes;
strRes = QByteArray::number(nNum, 16);
qDebug().noquote() << "10进制转16进制:" << strRes;

输出结果

10进制转16进制: ff

fun5:QString::setNumber()

int nNum = 255;
QString strRes;
strRes = strRes.setNum(nNum, 16);
qDebug().noquote() << "10进制转16进制:" << strRes;

输出结果

10进制转16进制: ff

16进制转换成10进制

fun1:QString::toInt()

QString str = "0xff";
qDebug().noquote() << "16进制转10进制:" << str.toInt(nullptr, 16);

输出结果

16进制转10进制: 255

格式化输出

quint16 num = 0xff;
qDebug().noquote() << "十进制输出: " << QString("%1").arg(num);
// 不足四位补0
qDebug().noquote() << "16进制小写输出: " << QString("%1").arg(num, 4, 16, QLatin1Char('0'));
// 不足四位补0
qDebug().noquote() << "16进制大写输出: " << QString("%1").arg(num, 4, 16, QLatin1Char('0')).toUpper();
// 格式化输出
qDebug().noquote() << "格式化十进制输出: " << QString().sprintf("%d", num);
qDebug().noquote() << "格式化16进制小写输出: " << QString().sprintf("%04x", num);
qDebug().noquote() << "格式化16进制大写输出: " << QString().sprintf("%04X", num);

到此这篇关于Qt 10进制和16进制转换的文章就介绍到这了,更多相关Qt 10进制和16进制转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解C/C++ 的*和&用法

    详解C/C++ 的*和&用法

    这篇文章主要介绍了C/C++ 的*和&的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • 利用C语言实现http服务器(Linux)

    利用C语言实现http服务器(Linux)

    本文将利用C语言实现一个轻量级的http服务器,使用Reactor模式,即主线程只负责监听文件描述符上是否有事件发生,有的话立即将该事件通知工作线程,感兴趣的可以了解一下
    2022-07-07
  • C++类和对象之多态详解

    C++类和对象之多态详解

    大家好,本篇文章主要讲的是C++类和对象之多态详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 详解C/C++中低耦合代码的设计实现

    详解C/C++中低耦合代码的设计实现

    这篇文章主要为大家详细介绍了C/C++ 相关低耦合代码的设计实现,文中的示例代码讲解详细,对我们学习C++有一定的帮助,感兴趣的小伙伴可以了解一下
    2023-01-01
  • C++标准C函数在各平台编译结果都相同

    C++标准C函数在各平台编译结果都相同

    今天小编就为大家分享一篇关于C++标准C函数在各平台编译结果都相同,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • c语言abort函数实例用法

    c语言abort函数实例用法

    在本篇文章里小编给大家整理了一篇关于c语言abort函数实例用法及相关知识点,有兴趣的朋友们可以学习下。
    2021-09-09
  • C语言控制语句之 循环

    C语言控制语句之 循环

    C语言循环控制语句是一个基于C语言的编程语句,该语句主要有while循环语句、do-while循环语句和for循环语句来实现循环结构,今天通过本文给大家分享C控制语句的相关知识,需要的朋友参考下吧
    2021-07-07
  • C语言中条件判断的正确使用姿势

    C语言中条件判断的正确使用姿势

    在C语言中,有三种条件判断结构:if语句、if-else语句和switch语句,这篇文章主要来和大家讲解一下它们的正确使用姿势,需要的可以参考一下
    2023-05-05
  • C++中的对象指针总结

    C++中的对象指针总结

    以下是对C++中的对象指针进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-10-10
  • c++中的malloc底层实现代码

    c++中的malloc底层实现代码

    这篇文章主要介绍了c++中的malloc底层实现代码,包括malloc底层实现原理解析,内存池的相关知识,需要的朋友可以参考下
    2021-07-07

最新评论