当前位置: 首页 > article >正文

QT C++ 判断字符串是否是一个数字

1、使用 QRegularExpression

带入正则表达式来匹配目标字符串是否符合数字结构,以此来判断,代码如下:

bool isPureNumber(const QString &arg1) {
    // 使用正则表达式来检查是否为纯数字 0-9
    QRegularExpression re("^\\d+$");

    // 匹配整数和小数,允许负号开头
    //QRegularExpression re("^-?\\d*\\.?\\d+$");
    return re.match(arg1).hasMatch();
}

2、使用 QString::toDouble() 或 QString::toInt()

函数带入一个bool类型的参数地址可以得到转换结果,以此来判断是否是数字。

bool isNumber(const QString &arg1) {
    bool ok;
    arg1.toDouble(&ok);  // 转换为 double 以检查有效性
    // arg1.toInt(&ok);  // 转换为 int 以检查有效性
    return ok;
}

3、使用 QString::contains() 和 QRegularExpression配合

使用了QRegularExpression类,同样关键在于正则表达式,也是以此来匹配,只不过这里使用contains函数来检测结构。

bool isPureNumber(const QString &arg1) {
    // 使用正则表达式匹配
    //return !arg1.isEmpty() && arg1.contains(QRegularExpression("^\\d+$"));  //0-9

    return !arg1.isEmpty() && arg1.contains(QRegularExpression("^-?\\d*\\.?\\d+$"));
}

4、结语

        以上就是本人一般会用到的判断一个字符串是否是数字的方法了,这里全部封装好了函数,可以根据实际情况做稍微修改来达到你自己的预期效果。


http://www.kler.cn/a/281648.html

相关文章:

  • Pandas库性能优化指南:从基础到进阶(终)
  • 10、Flink 动态表之查询限制详解
  • XXE-labs靶场通关攻略
  • Github 2024-08-23 Java开源项目日报 Top9
  • 数学建模学习(121):Python实现模糊AHP(Fuzzy AHP)——从原理到实践
  • Word中设置奇数页的页眉为一级标题内容;偶数页的页眉为文章题目
  • Android - 音频参数合入
  • 【kubernetes】kubernetes Deployment 详解
  • 【ElasticSearch】基本命令
  • 波导阵列天线学习笔记6 用于K和Ka频段卫星通信的超宽带双圆极化波导阵列天线
  • Django后端架构开发:缓存机制,接口缓存、文件缓存、数据库缓存与Memcached缓存
  • CI/CD实践(四)Jenkins部署及环境配置
  • 小程序封装接口请求
  • 信息打点-系统篇端口扫描CDN服务负载均衡WAF防火墙
  • Java中Stream流详解
  • 深度学习500问——Chapter13:优化算法(2)
  • 孟德尔随机化-装包TwoSampleMR的两种方法
  • 前端技术(五)—— 使用Node.js编写简单的项目
  • flink 状态参数设置
  • SQL 注入之 WAF 绕过