例如,我有一个 QString,里面有一些数字
first_34.33string
second-23.4string // In this case number is negative
如何从字符串中提取数字?
编辑:
这个函数似乎有效,在回复中使用正则表达式:
float getNumberFromQString(const QString &xString)
{
QRegExp xRegExp("(-?\\d+(?:[\\.,]\\d+(?:e\\d+)?)?)");
xRegExp.indexIn(xString);
QStringList xList = xRegExp.capturedTexts();
if (true == xList.empty())
{
return 0.0;
}
return xList.begin()->toFloat();
}
最佳答案
这应该适用于有效数字:QRegExp("(-?\\d+(?:[\\.,]\\d+(?:e\\d+)?)?)")
编辑:抱歉,弄乱了括号,现在应该可以了。
关于c++ - 在 QString 中查找数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23058390/