qt怎么获取字符串中的数值

avatar
作者
猴君
阅读量:8

在Qt中,您可以使用QRegExp、QStringList或QString的一些内置方法来获取字符串中的数值。

  1. 使用QRegExp:
QString text = "Hello123World456"; QRegExp regex("\\d+");  // 匹配一个或多个数字 int pos = 0; while ((pos = regex.indexIn(text, pos)) != -1) {     QString number = regex.cap(0);  // 获取匹配到的数字     // 处理数字     qDebug() << number;     pos += regex.matchedLength(); } 
  1. 使用QStringList:
QString text = "Hello 123 World 456"; QStringList list = text.split(QRegExp("\\D+"));  // 使用非数字字符分割字符串 foreach (const QString &number, list) {     if (!number.isEmpty()) {         // 处理数字         qDebug() << number;     } } 
  1. 使用QString的toInt()或toDouble()方法:
QString text = "Hello 123 World 456"; QString number; int pos = 0; while (pos < text.length()) {     if (text[pos].isDigit()) {  // 找到数字的起始位置         int startPos = pos;         while (pos < text.length() && text[pos].isDigit()) {             pos++;         }         number = text.mid(startPos, pos - startPos);  // 截取数字         // 处理数字         qDebug() << number;     }     pos++; } 

请根据您的实际需求选择适合您的方法。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!