【问题标题】:Getting a number from QString then converting it to integer从 QString 获取一个数字,然后将其转换为整数
【发布时间】:2021-06-21 06:42:13
【问题描述】:

我正在开发一个 QT 软件,它使用 telnet 命令从 adsl 调制解调器链接中获取一些信息。 我得到了所有这些信息到一个 QString

 QString datarate = ui->output->toPlainText();

我只想选择一个数字 后下行速率

Downstream rate = 10239 Kbps

并将其转换为整数以将其与其他数字进行比较... 我不想采用第一个 = 20892 kbps

Status: Showtime
Max:    Upstream rate = 1193 Kbps, Downstream rate = 20892 Kbps

Bearer: 0, Upstream rate = 1021 Kbps, Downstream rate = 10239 Kbps

有什么建议吗? 注意:数字将是随机的,因此 adsl 状态有很大不同

【问题讨论】:

  • 您是否在问如何解析一长串文本并仅提取您感兴趣的特定数字?
  • 是的,兄弟,然后我想将它与其他数字进行比较..
  • 你的消息结构总是像样例?
  • 是的,文字相同,只是数字不同,每个adsl用户都有他/她的特殊下游率

标签: qt integer telnet qstring


【解决方案1】:

也许这样的事情会起作用:

QString datarate = ui->output->toPlainText();
int number = datarate.split("Downstream rate = ")[2].split(" ")[0].toInt();

这正在采取以下步骤:

  1. 将字符串分解成由“Downstream rate =”分隔的片段
  2. 获取该列表中的第三个字符串(应包含“10239 Kbps”)
  3. 用空格字符分割它并获取第一个标记。 (应包含“10239”)
  4. 最后将字符串转换为int。

【讨论】:

  • 非常感谢兄弟
猜你喜欢
  • 1970-01-01
  • 2011-10-20
  • 1970-01-01
  • 2016-01-06
  • 1970-01-01
  • 1970-01-01
  • 2015-08-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多