Qt - 如何测试 QTableWidget 项目的文本是否为整数?
Qt - How to test whether the text of QTableWidget item is an integer number or not not?
我正在使用 Qt 和 C++。如果我有一个 QTableWidget
,我如何测试一个项目的文本是否是一个整数?
if(table->item(index, 0)->text().is_integer())
Qdebug("yes is an integer") ;
else
Qdebug("no is not an integer") ;
您可以像通常的 QString
到 int
转换一样进行操作 - QString::toInt
,但您可以忽略 return 值。我建议使用此辅助函数,因为 QString::toInt
可以让您了解 success/failure:
bool isInt(QString const& str, int base = 10)
{
bool ok = false;
str.toInt(&ok, base);
return ok;
}
用法:
if(isInt(table->item(indice, 0)->text()))
...
编辑: 不知道为什么这里用了toInt
。如果有更大的数字只能用更大的整数数据类型表示(或者您只想处理 unsigned
数字),请为这些创建此函数。
我正在使用 Qt 和 C++。如果我有一个 QTableWidget
,我如何测试一个项目的文本是否是一个整数?
if(table->item(index, 0)->text().is_integer())
Qdebug("yes is an integer") ;
else
Qdebug("no is not an integer") ;
您可以像通常的 QString
到 int
转换一样进行操作 - QString::toInt
,但您可以忽略 return 值。我建议使用此辅助函数,因为 QString::toInt
可以让您了解 success/failure:
bool isInt(QString const& str, int base = 10)
{
bool ok = false;
str.toInt(&ok, base);
return ok;
}
用法:
if(isInt(table->item(indice, 0)->text()))
...
编辑: 不知道为什么这里用了toInt
。如果有更大的数字只能用更大的整数数据类型表示(或者您只想处理 unsigned
数字),请为这些创建此函数。