Qt判断字符串是否是数字包含正负数小数
前言
Qt自带的 QString 似乎没有现成的 API 判断字符串是否是数字,于是想到利用正则进行判断。下面是方法。
实现方法
// 思路先判断字母情况,然后再判断包含正负小数情况
bool ret1 = item->text().contains(QRegExp("[A-Za-z]/g")) ? true : false; // 判断是否包含字母
if(ret1)
{
QMessageBox::warning(NULL, QStringLiteral("提示"), QStringLiteral("不能含有字母"),
QMessageBox::NoButton, QMessageBox::Yes);
return;
}
else
{
if(!item->text().contains(QRegExp("[+-]?(0|([1-9]\\d*))(\\.\\d+)?")))
{
QMessageBox::warning(NULL, QStringLiteral("提示"), QStringLiteral("请输入数字"),
QMessageBox::NoButton, QMessageBox::Yes);
return;
}
}