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、结语

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

相关推荐
爱技术的小伙子9 分钟前
【30天玩转python】面向对象编程基础
开发语言·python
Bill6610 分钟前
MFC之CString类及其成员函数用法详解
c++·mfc
theoxiong20 分钟前
Python的Scapy库详解
开发语言·python·网络协议·tcp/ip·http·信息与通信·scapy
_晓夏_28 分钟前
【JVM 工具命令】JAVA程序线上问题诊断,JVM工具命令的使用,jstat, jstack,jmap命令的使用
java·开发语言·jvm·jvm命令工具·java程序线上问题定位命令·java程序问题故障排查命令·jvm线上问题故障排查
阿昆的科研日常36 分钟前
R语言论文插图模板第9期—滑珠散点图
开发语言·r语言·可视化·论文插图
hsg7739 分钟前
ArcGIS Pro 克隆clone python环境报错问题处理方法
开发语言·python·arcgis
Flame_Cyclone41 分钟前
编写XBOX控制器实现鼠标键盘输入
c++·windows·win32·xbox·控制器模拟键盘鼠标
贩卖纯净水.42 分钟前
共享内存喜欢沙县小吃
linux·运维·服务器·c++
Dola_Pan44 分钟前
C++ STL-deque容器入门详解
开发语言·c++
Ty_11061 小时前
深入理解Java虚拟机:Jvm总结-虚拟机字节码执行引擎
java·开发语言·jvm