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

1、使用 QRegularExpression

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

cpp 复制代码
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类型的参数地址可以得到转换结果,以此来判断是否是数字。

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

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

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

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

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

4、结语

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

相关推荐
熊猫钓鱼>_>几秒前
深入理解Java堆栈:从原理到面试实战
java·开发语言·面试·职场和发展·面向对象·堆栈·oop
孞㐑¥4 分钟前
算法—哈希表
开发语言·c++·经验分享·笔记·算法
骆驼爱记录5 分钟前
Word通配符技巧:高效文档处理指南
开发语言·c#·自动化·word·excel·wps·新人首发
近津薪荼19 分钟前
递归专题(2)——合并链表
c++·学习·算法·链表
仟濹23 分钟前
【Java加强】2 泛型 | 打卡day1
java·开发语言
maplewen.25 分钟前
C++11 std::function
开发语言·c++
阿里嘎多学长28 分钟前
2026-02-02 GitHub 热点项目精选
开发语言·程序员·github·代码托管
乔江seven28 分钟前
【python轻量级Web框架 Flask 】1 Flask 初识
开发语言·后端·python·flask
sheji341632 分钟前
【开题答辩全过程】以 基于Java的流浪猫救济中心系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
水饺编程35 分钟前
第4章,[标签 Win32] :文本尺寸的度量
c语言·c++·windows·visual studio