如何在qt creator中将QString转换为int

Mla*_*t90 2 c++ string int qt

我已经看到了关于同一个问题的一个答案但是当我用我的问题尝试它时会感到困惑.

这是我的字符串,

bit_rate = "bitrate: 2334 kb/s"
Run Code Online (Sandbox Code Playgroud)

我需要2334从这个字符串中获取并将其分配给一个整数变量..这在qt creator中是如何实现的.我试过了toInt(),但它总是给出0答案.

Goo*_*gie 6

你需要摆脱bitrate:前缀和kb/s后缀.最好的方法是使用QRegExpQRegularExpression提取字符串的数字部分然后调用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;
Run Code Online (Sandbox Code Playgroud)