从 QString 获取数字然后将其转换为整数
Getting a number from QString then converting it to integer
我正在开发一个 QT 软件,它使用 telnet 命令从 adsl 调制解调器获取一些信息 link。
我得到了所有这些信息到一个 QString
QString datarate = ui->output->toPlainText();
我只想select一个数字
下行后速率
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 状态有很大不同
也许这样的事情会奏效:
QString datarate = ui->output->toPlainText();
int number = datarate.split("Downstream rate = ")[2].split(" ")[0].toInt();
这将采取以下步骤:
- 将字符串分成由“下游速率 =”分隔的片段
- 取该列表中的第三个字符串(应包含“10239 Kbps”)
- 将其拆分为 space 个字符并获取第一个标记。 (应包含“10239”)
- 最终将字符串转换为 int。
我正在开发一个 QT 软件,它使用 telnet 命令从 adsl 调制解调器获取一些信息 link。 我得到了所有这些信息到一个 QString
QString datarate = ui->output->toPlainText();
我只想select一个数字 下行后速率
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 状态有很大不同
也许这样的事情会奏效:
QString datarate = ui->output->toPlainText();
int number = datarate.split("Downstream rate = ")[2].split(" ")[0].toInt();
这将采取以下步骤:
- 将字符串分成由“下游速率 =”分隔的片段
- 取该列表中的第三个字符串(应包含“10239 Kbps”)
- 将其拆分为 space 个字符并获取第一个标记。 (应包含“10239”)
- 最终将字符串转换为 int。