Qt?10進(jìn)制和16進(jìn)制轉(zhuǎn)換的使用示例
在項(xiàng)目開(kāi)發(fā)中,如何進(jìn)行進(jìn)制轉(zhuǎn)換,提供以下方法:
通過(guò)標(biāo)準(zhǔn)庫(kù)std::stringstream進(jìn)行10進(jìn)制和16進(jìn)制轉(zhuǎn)換
10進(jìn)制轉(zhuǎn)換成16進(jìn)制
#include <sstream> #include <string> int decimalNumber = 255; std::stringstream ss; ss << std::hex << decimalNumber; // 輸出16進(jìn)制數(shù) std::string hexNumber = ss.str(); std::cout << "Decimal: " << decimalNumber << "\n"; std::cout << "Hexadecimal: " << hexNumber << "\n"; }
16進(jìn)制轉(zhuǎn)換成10進(jìn)制
#include <sstream> #include <string> std::string hexNumber = "FF"; std::stringstream ss(hexNumber); int decimalNumber; ss >> std::hex >> decimalNumber; // 輸入16進(jìn)制數(shù),輸出10進(jìn)制數(shù) std::cout << "Hexadecimal: " << hexNumber << "\n"; std::cout << "Decimal: " << decimalNumber << "\n"; }
通過(guò)QString::number()和toInt()、setNumbe()等方法進(jìn)行轉(zhuǎn)換
10進(jìn)制轉(zhuǎn)換成16進(jìn)制
fun1:QString::number()
number()函數(shù)是重載函數(shù)
static QString number(double, char f=‘g’, int prec=6);第一個(gè)參數(shù)是值,第二個(gè)參數(shù)指定數(shù)值格式,第三個(gè)參數(shù)精度
static QString number(int, int base=10);第一個(gè)參數(shù)是值,第二個(gè)參數(shù)是基準(zhǔn)
int nDecValue = 255; QString strRes; strRes = QString::number(nDecValue, 16); qDebug().noquote() << "10進(jìn)制轉(zhuǎn)16進(jìn)制:" << strRes;
輸出結(jié)果
10進(jìn)制轉(zhuǎn)16進(jìn)制: ff
fun2:QString::number().rightJustified()
rightJustified(int width, QChar fill = QLatin1Char(’ ‘), bool trunc = false)函數(shù):右對(duì)齊,不足width,左填充fill字符
leftJustified(int width, QChar fill = QLatin1Char(’ '), bool trunc = false)函數(shù):左對(duì)齊,不足width,右填充fill字符
int nDecValue = 10; QString strRes; strRes = QString::number(nDecValue, 16).rightJustified(2, '0'); qDebug().noquote() << "10進(jìn)制轉(zhuǎn)16進(jìn)制:" << strRes;
輸出結(jié)果
10進(jìn)制轉(zhuǎn)16進(jìn)制: 0a
fun3:QString(“%1”).arg()
int nDecValue = 255;
QString strRes;
strRes = QString("%1").arg(nDecValue , 0, 16);
qDebug().noquote() << "10進(jìn)制轉(zhuǎn)16進(jìn)制:" << strRes;輸出結(jié)果
10進(jìn)制轉(zhuǎn)16進(jìn)制: a
fun4:QByteArray::number()
int nNum = 255; QString strRes; strRes = QByteArray::number(nNum, 16); qDebug().noquote() << "10進(jìn)制轉(zhuǎn)16進(jìn)制:" << strRes;
輸出結(jié)果
10進(jìn)制轉(zhuǎn)16進(jìn)制: ff
fun5:QString::setNumber()
int nNum = 255; QString strRes; strRes = strRes.setNum(nNum, 16); qDebug().noquote() << "10進(jìn)制轉(zhuǎn)16進(jìn)制:" << strRes;
輸出結(jié)果
10進(jìn)制轉(zhuǎn)16進(jìn)制: ff
16進(jìn)制轉(zhuǎn)換成10進(jìn)制
fun1:QString::toInt()
QString str = "0xff"; qDebug().noquote() << "16進(jìn)制轉(zhuǎn)10進(jìn)制:" << str.toInt(nullptr, 16);
輸出結(jié)果
16進(jìn)制轉(zhuǎn)10進(jìn)制: 255
格式化輸出
quint16 num = 0xff;
qDebug().noquote() << "十進(jìn)制輸出: " << QString("%1").arg(num);
// 不足四位補(bǔ)0
qDebug().noquote() << "16進(jìn)制小寫(xiě)輸出: " << QString("%1").arg(num, 4, 16, QLatin1Char('0'));
// 不足四位補(bǔ)0
qDebug().noquote() << "16進(jìn)制大寫(xiě)輸出: " << QString("%1").arg(num, 4, 16, QLatin1Char('0')).toUpper();
// 格式化輸出
qDebug().noquote() << "格式化十進(jìn)制輸出: " << QString().sprintf("%d", num);
qDebug().noquote() << "格式化16進(jìn)制小寫(xiě)輸出: " << QString().sprintf("%04x", num);
qDebug().noquote() << "格式化16進(jìn)制大寫(xiě)輸出: " << QString().sprintf("%04X", num);到此這篇關(guān)于Qt 10進(jìn)制和16進(jìn)制轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)Qt 10進(jìn)制和16進(jìn)制轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Win32應(yīng)用程序(SDK)設(shè)計(jì)原理詳解
這篇文章主要介紹了Win32應(yīng)用程序(SDK)設(shè)計(jì)原理,對(duì)于理解win32應(yīng)用程序運(yùn)行原理有很大的幫助,需要的朋友可以參考下2014-08-08
C++實(shí)現(xiàn)飛機(jī)大戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
C/C++實(shí)現(xiàn)動(dòng)態(tài)庫(kù)動(dòng)態(tài)加載
在很多項(xiàng)目中,我們多少會(huì)用到第三方動(dòng)態(tài)庫(kù),這些動(dòng)態(tài)庫(kù)一般都是相對(duì)固定,使用也很簡(jiǎn)單,下面我們就來(lái)看看c/c++中如何實(shí)現(xiàn)動(dòng)態(tài)庫(kù)動(dòng)態(tài)加載吧2024-01-01
C++設(shè)計(jì)模式編程中Facade外觀模式的使用實(shí)例解析
這篇文章主要介紹了C++設(shè)計(jì)模式編程中Facade外觀模式的使用實(shí)例解析,外觀模式的主要用途就是為子系統(tǒng)的復(fù)雜處理過(guò)程提供方便的調(diào)用方法,需要的朋友可以參考下2016-03-03
一起來(lái)看看C++STL容器之string類(lèi)
這篇文章主要為大家詳細(xì)介紹了C++STL容器之string類(lèi),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03

