文章目录
概述
该文章主要介绍如何使用QString将字符串转换为多进制数字。
一、数字字符串转数字
1、将int类型十进制数字符串转换为数字
1.1、源码
int temp_int = 0;
QString str;
str.append("12345678");
////将十进制字符串"12345678"转换为数12345678
temp_int = str.toInt(NULL, 10);
qDebug()<<"字符串: "<<str<<", 转换后 "<<temp_int;
1.2、运行结果
字符串: "12345678" , 转换后 12345678
2、将int类型十六进制数字符串转换为数字
2.1、源码
int temp_int = 0;
QString str;
str.append("12345678");
//将十六进制字符串"0x12345678"转换为数0x12345678
temp_int = str.toInt(NULL, 16);
qDebug()<<"字符串: "<<str<<", 转换后 "<<temp_int;
2.2、运行结果
字符串: "12345678" , 转换后 305419896
3、将long long类型十进制数字符串转换为数字
3.1、源码
long long temp = 0;
QString str;
str.append("12345678912345");
//将十六进制字符串"12345678912345"转换为数12345678912345
temp = str.toLongLong(NULL, 10);
qDebug()<<"字符串: "<<str<<", 转换后 "<<temp;
3.2、运行结果
字符串: "12345678912345" , 转换后 12345678912345
4、将long long类型十进制数字符串转换为数字
4.1、源码
long long temp = 0;
QString str;
str.append("123456789ABCDE");
//将十六进制字符串"123456789ABCDE"转换为数0x123456789ABCDE
temp = str.toLongLong(NULL, 16);
qDebug()<<"字符串: "<<str<<", 转换后 "<<temp;
4.2、运行结果
字符串: "123456789ABCDE" , 转换后 5124095576030430
二、数字转数字字符串
1、int类型数字转十进制字符串
1.1、源码
int temp = 0x1234567F;
QString str;
str = QString::number(temp, 10); //默认小写
// str = QString::number(temp, 16).toUpper(); //大写
//将数字0x1234567F转换为十进制字符串"305419903"
qDebug()<<"数字: "<<temp<<", 转换后 "<<str;
1.2、运行结果
数字: 305419903 , 转换后 "305419903"
2、int类型数字转十六进制字符串
2.1、源码
int temp = 0x1234567F;
QString str;
// str = QString::number(temp, 16); //默认小写
str = QString::number(temp, 16).toUpper(); //大写
//将数字0x1234567F转换为十进制字符串"1234567F"
qDebug()<<"数字: "<<temp<<", 转换后 "<<str;
2.2、运行结果
数字: 305419903 , 转换后 "1234567F"
3、long long类型数字转十进制字符串
3.1、源码
long long temp = 0x12345678912345F;
QString str;
str = QString::number(temp, 10); //默认小写
// str = QString::number(temp, 16).toUpper(); //大写
//将数字0x12345678912345F转换为十进制字符串"81985529206420575"
qDebug()<<"数字: "<<temp<<", 转换后 "<<str;
3.2、运行结果
数字: 81985529206420575 , 转换后 "81985529206420575"
4、long long类型数字转十六进制字符串
4.1、源码
long long temp = 0x12345678912345F;
QString str;
// str = QString::number(temp, 16); //默认小写
str = QString::number(temp, 16).toUpper(); //大写
//将数字0x12345678912345F转换为十进制字符串"12345678912345F"
qDebug()<<"数字: "<<temp<<", 转换后 "<<str;
4.2、运行结果
数字: 81985529206420575 , 转换后 "12345678912345F"
- 由 HCMSSIN 写于2025/04/16
1257

被折叠的 条评论
为什么被折叠?



