欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Qt?10進(jìn)制和16進(jìn)制轉(zhuǎn)換的使用示例

 更新時間:2023年09月12日 08:36:21   作者:FreeLikeTheWind.  
在編程過程中,處理16進(jìn)制字符串與10進(jìn)制數(shù)字之間的轉(zhuǎn)換是很常見的需求,本文主要介紹了Qt?10進(jìn)制和16進(jìn)制轉(zhuǎn)換的使用示例,具有一定的參考價值,感興趣的可以了解一下

在項(xiàng)目開發(fā)中,如何進(jìn)行進(jìn)制轉(zhuǎn)換,提供以下方法:

通過標(biāo)準(zhǔn)庫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";  
}

通過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);第一個參數(shù)是值,第二個參數(shù)指定數(shù)值格式,第三個參數(shù)精度
static QString number(int, int base=10);第一個參數(shù)是值,第二個參數(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ù):右對齊,不足width,左填充fill字符
leftJustified(int width, QChar fill = QLatin1Char(’ '), bool trunc = false)函數(shù):左對齊,不足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)制小寫輸出: " << QString("%1").arg(num, 4, 16, QLatin1Char('0'));
// 不足四位補(bǔ)0
qDebug().noquote() << "16進(jìn)制大寫輸出: " << QString("%1").arg(num, 4, 16, QLatin1Char('0')).toUpper();
// 格式化輸出
qDebug().noquote() << "格式化十進(jìn)制輸出: " << QString().sprintf("%d", num);
qDebug().noquote() << "格式化16進(jìn)制小寫輸出: " << QString().sprintf("%04x", num);
qDebug().noquote() << "格式化16進(jìn)制大寫輸出: " << 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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++使用宏實(shí)現(xiàn)動態(tài)庫加載

    C++使用宏實(shí)現(xiàn)動態(tài)庫加載

    開發(fā)的時候,有些項(xiàng)目不能靜態(tài)鏈接動態(tài)庫,需要程序運(yùn)行時加載動態(tài)庫。本文將使用宏來實(shí)現(xiàn)動態(tài)庫的加載,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C語言預(yù)處理器使用方法講解

    C語言預(yù)處理器使用方法講解

    C預(yù)處理器不是編譯器的組成部分,但是它是編譯過程中一個單獨(dú)的步驟。簡言之,C預(yù)處理器只不過是一個文本替換工具而已,它們會指示編譯器在實(shí)際編譯之前完成所需的預(yù)處理。我們將把C預(yù)處理器(C Preprocessor)簡寫為CPP
    2022-12-12
  • c++基礎(chǔ)算法動態(tài)DP解決CoinChange問題

    c++基礎(chǔ)算法動態(tài)DP解決CoinChange問題

    這篇文章主要為大家介紹了c++基礎(chǔ)算法如何利用動態(tài)DP來解決Coin Change的問題示例過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • C++ Eigen庫實(shí)現(xiàn)最小二乘擬合的示例代碼

    C++ Eigen庫實(shí)現(xiàn)最小二乘擬合的示例代碼

    Eigen 是一個線性算術(shù)的 C++ 模板庫,功能強(qiáng)大、快速、優(yōu)雅以及支持多平臺,本文主要為大家介紹了C++利用Eigen庫實(shí)現(xiàn)最小二乘擬合的示例代碼,希望對大家有所幫助
    2023-07-07
  • C語言中的rand()和rand_r()詳解

    C語言中的rand()和rand_r()詳解

    這篇文章主要為大家介紹了C語言中的rand()和rand_r(),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • C++ deque容器的用法詳解

    C++ deque容器的用法詳解

    在處理一些數(shù)組的事情,所以隨手保留一下Deque容器的使用方法很有必要,接下來通過本文給大家重點(diǎn)介紹C++ deque容器的用法及deque和vector的區(qū)別講解,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • VC++中HTControl控制類使用之CHTDlgBase對話框基類實(shí)例

    VC++中HTControl控制類使用之CHTDlgBase對話框基類實(shí)例

    這篇文章主要介紹了VC++中HTControl控制類使用之CHTDlgBase對話框基類,是比較豐富而實(shí)用的功能,需要的朋友可以參考下
    2014-08-08
  • C++string容器基本概念詳解

    C++string容器基本概念詳解

    c++相比c的一個好處就是實(shí)現(xiàn)了很多的容器和泛型算法,使得程序員的工作得到了很大的簡化,本文重點(diǎn)給大家介紹C++string容器基本概念講解,需要的朋友參考下吧
    2021-07-07
  • C++11中std::function與std::bind的用法實(shí)例

    C++11中std::function與std::bind的用法實(shí)例

    大家都知道C++11中增加了許多的新特性,下面這篇文章主要給大家介紹了關(guān)于C++11中std::function與std::bind的用法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • C++代碼實(shí)現(xiàn)五子棋小游戲

    C++代碼實(shí)現(xiàn)五子棋小游戲

    這篇文章主要為大家詳細(xì)介紹了C++代碼實(shí)現(xiàn)五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評論