[QT] QString数字字符串和数字的相互转换


概述

该文章主要介绍如何使用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"
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值