[正则表达式] 限制字符串为12位精度的小数 (使用Qt)

本文所提到12位精度的小数指的是整数部分加上小数部分等于12个数字

使用 Qt 的 QRegExpValidator 类来限制字符串为12位精度的小数

#include <QLineEdit>
#include <QRegExpValidator>

// 创建一个 QLineEdit 对象
QLineEdit *lineEdit = new QLineEdit(this);

// 创建一个正则表达式
QRegExp regex("^[+-]?(?=.{1,13}$)\\d{0,12}(\\.\\d{0,12})?$");

// 创建一个 QRegExpValidator 对象
QRegExpValidator *validator = new QRegExpValidator(regex, this);

// 将 validator 设置为 lineEdit 的验证器
lineEdit->setValidator(validator);

正则表达式解释:

  • ^ 匹配字符串开头
  • [+-]? 匹配可选的正负号
  • (?=.{1,13}$) 使用正则表达式的正向预查,确保字符串总长度不超过13个数字
  • \d{0,12} 匹配0到12个数字
  • (\.\d{1,12})? 匹配一个小数点和1到12个数字(可选)
  • $ 匹配字符串结尾
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值