Qt 10进制和16进制转换

news/2024/4/26 7:42:29

10进制和16进制转换

      • 通过标准库std::stringstream进行10进制和16进制转换
        • 10进制转换成16进制
        • 16进制转换成10进制
      • 通过QString::number()和toInt()、setNumbe()等方法进行转换
        • 10进制转换成16进制
        • 16进制转换成10进制
      • 格式化输出

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

通过标准库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);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.tangninghui.cn.cn/item-37.htm

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

CMS指纹识别

一.什么是指纹识别 常见cms系统 通过关键特征&#xff0c;识别出目标的CMS系统&#xff0c;服务器&#xff0c;开发语言&#xff0c;操作系统&#xff0c;CDN&#xff0c;WAF的类别版本等等 1.识别对象 1.CMS信息&#xff1a;比如Discuz,织梦&#xff0c;帝国CMS&#xff0…

Linux使用docker安装elasticsearch-head

一、elasticsearch-head的安装启动 #下载镜像 docker pull alivv/elasticsearch-head #启动 docker run -d --name eshead -p 9100:9100 alivv/elasticsearch-head 查看日志 docker logs -f eshead 出现如下证明启动成功 浏览器访问9100端口&#xff0c;出现以下页面也说明启动…

ROS学习笔记(四)---使用 VScode 启动launch文件运行多个节点

ROS学习笔记文章目录 01. ROS学习笔记(一)—Linux安装VScode 02. ROS学习笔记(二)—使用 VScode 开发 ROS 的Python程序&#xff08;简例&#xff09; 03. ROS学习笔记(三)—好用的终端Terminator 一、什么是launch文件 虽然说Terminator终端是能够比较方便直观的看运行的节点…

国家网络安全周 | 保障智能网联汽车产业,护航汽车数据安全

9月13日上午&#xff0c;2023年国家网络安全宣传周汽车数据安全分论坛在福州海峡国际会展中心正式举办。本次分论坛主题是“护航汽车数据安全&#xff0c;共促产业健康发展”&#xff0c;聚焦汽车数据安全、个人信息保护、密码安全、车联网安全保险等主题。 与此同时&#xff…

搭建自己的OCR服务,第二步:PaddleOCR环境安装

PaddleOCR环境安装&#xff0c;遇到了很多问题&#xff0c;根据系统不同问题也不同&#xff0c;不要盲目看别人的教程&#xff0c;有的教程也过时了&#xff0c;根据实际情况自己调整。 我这边目前是使用windows 10系统CPU python 3.7 搭建。 熟悉OCR的人应该知道&#xff0…

基于SSM的旅游网站系统

基于SSM的旅游网站系统【附源码文档】、前后端分离 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringSpringMVCMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色&#xff1a;管理员、用户 管理员&#xff1a;用户管理、景点…