【发布时间】:2017-12-21 17:50:58
【问题描述】:
我将做一个在 modbus 上写入数据的方法。 如果是 String 或 Int,我需要 QVariant 返回。
我的变量: QVariant dataToWrite
是否存在返回dataToWrite 内容为String 或Integer 的方法? 在c#中我做了这个解决方案:How do I identify if a string is a number?
我在此链接上看到了文档:http://doc.qt.io/qt-5/qvariant.html 但是在 qt 中我没有找到解决方案。
谢谢
【问题讨论】:
-
如果你可以用
QVariant::toInt()将它转换为int,那么它就是一个int,否则它是一个字符串或其他任何东西,因为你可以将任何QVariant转换为字符串。 -
试试
int QVariant::toInt(bool *ok = Q_NULLPTR) const -
示例:
bool ok; int number =your_variant.toInt(&ok); if(ok){ qDebug()<<"is number" } -
您的解决方案都有效。谢谢。我之前可以想到。