QT小案例:进制转换与数字提取
发布日期:2021-05-10 07:53:45 浏览次数:12 分类:精选文章

本文共 930 字,大约阅读时间需要 3 分钟。

1、给定一个十进制数,将其转为两字节16进制数。

QString get_two_hex(int param){    QString ret = "";    if(QString::number(param,16).right(4).length() != 2)    {        ret = "0" + QString::number(param,16).right(4);    }else{        ret = QString::number(param,16).right(4);    }    return ret.toUpper();}void arr_test(){    int arr[] = {43, 12, 51, 176, 24};    int len = sizeof (arr)/sizeof(arr[0]);    for(int i=0; i < len; i++)    {        qDebug() << get_two_hex(arr[i]);    }}

执行结果如下:

 

2、给定一个字符串,其中包含了多个浮点数,从中提取出所有的浮点数。

void MainWindow::digital_extraction(){    QString data = "apple 10.99 abc 45 12.31 next 37.21 ";    QRegExp rx("-?(([1-9]\\d*\\.\\d*)|(0\\.\\d*[1-9]\\d*)|([1-9]\\d*))");    int p = 0;    qDebug() << "begin";    QStringList data_list;    while ((p = rx.indexIn(data, p)) != -1)    {        data_list.append(rx.cap(1));        p += rx.matchedLength(); // 上一个匹配的字符串的长度    }    qDebug() << data_list;    qDebug() << "end";}

执行结果如下:

上一篇:SpringBoot学习笔记(六):SpringBoot整合Mybatis
下一篇:SpringBoot学习笔记(五):SpringBoot中的静态资源的映射规则

发表评论

最新留言

关注你微信了!
[***.104.42.241]2025年04月18日 21时25分40秒