如何在qt creator中将QString转换为int
how to convert QString into int in qt creator
我已经看到了一个关于这个问题的答案,但是当我尝试它与我的问题时,它变得困惑了。
这是我的字符串,
bit_rate = "bitrate: 2334 kb/s"
我需要从这个字符串中获得2334
,并将其分配给一个整数变量。这在qt creator中是如何实现的?我试过toInt()
,但它总是给出0
作为答案。
您需要去掉bitrate:
前缀和kb/s
后缀。最好的方法是使用QRegExp
或QRegularExpression
提取字符串的数字部分,然后调用toInt()
。
这里的例子:
QString str = "bitrate: 3543 kb/s";
int value;
QRegExp re("bitrate:\s*(\d+)\s*.*");
if (re.indexIn(str) != -1) {
value = re.cap(1).toInt();
} else {
qDebug() << "String not matched.";
return;
}
qDebug() << value;
参考页面上有大量关于这方面的资料。实现这一点的最简单方法是基于空格拆分字符串,然后将您想要的字符串转换为Int。
的例子:
QString str = "bitrate: 3543 kb/s";
QStringList lst = str.split(" ");
Int value = lst[1].toInt();
QTextIStream stream("bitrate: 3543 kb/s");
QString prefix, sufix;
int result;
stream >> prefix >> result >> sufix;
相关文章:
- 将 hh:mm:ss.zzz 时间 QString 转换为毫秒的单行函数?
- 如何将包含指数的 QString 转换为C++中的双倍?
- 删除unicode def后,无法将QString转换为TCHAR
- 在Qt中将QString转换为ASCII值,反之亦然
- 如何在Windows上将Qt QString转换为LPCTSTR
- 将 QString 转换为 QJsonArray
- QByteArray 和 QString 转换的问题
- q致命参数:将 QString 转换为常量字符* 会导致警告"format string is not a string literal"
- 将QString转换为uintptr_t,qt / c
- 无法将 QString 转换为 Const Char*
- 处理字符到QString转换中的ASCII字符
- 将QString转换为QString的指针
- 使用 QList 将 Qstring 转换为双倍
- 将 QString 转换为 uint16*
- 将 QString 转换为无符号短整型
- 将十六进制 QString 转换为 UTF-8 QString
- 如何在 Visual Studio 2013 中将 Qt5 中的 QString 转换为 LPCSTR
- QString::compare() vs 将 QString 转换为数字然后进行比较
- 正在将QString转换为std::string
- 如何将QString转换为特定格式的QDate