找回密码
 立即注册
收起左侧

怎么解析这个数据

2
回复
2660
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2023-5-6 15:12:27 显示全部楼层 |阅读模式
1Qter豆
QString  m="SSLL:000001.12 ZZLL:000006488152";
把里面的两个数据提取出来  一个浮点数  一个整数

回复

使用道具 举报

累计签到:3513 天
连续签到:2 天
2023-5-8 08:34:00 显示全部楼层
        QString  m="SSLL:000001.12 ZZLL:000006488152";
        QStringList Query = m.split(QRegExp("(\\ |\\"), QString::SkipEmptyParts);
        double d = Query.at(1).toDouble();
        int i = Query.at(3).toInt();
        qDebug() << d << " - " << i;
回复

使用道具 举报

累计签到:2544 天
连续签到:1 天
2023-5-9 09:17:34 显示全部楼层
用正则表达式:
  1. QString m = "SSLL:000001.12 ZZLL:000006488152";
  2. QRegularExpression reg("[0-9\\.]+");
  3. QRegularExpressionMatchIterator i = reg.globalMatch(m);
  4. while (i.hasNext()) {
  5.         QRegularExpressionMatch match = i.next();
  6.         if(match.hasMatch()) {
  7.                 QString capture = match.captured(0);
  8.                 qDebug() << capture;
  9.                 if(capture.contains("."))
  10.                         qDebug() << "浮点数" << capture.toDouble();
  11.                 else
  12.                         qDebug() << "整数" << capture.toInt();
  13.         }
  14. }
复制代码

输出:
  1. "000001.12"
  2. 浮点数 1.12
  3. "000006488152"
  4. 整数 6488152
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了