C++ 如果`isDigit()`
如何优雅地获得数字值C++ 如果`isDigit()`,c++,qt,qchar,C++,Qt,Qchar,如何优雅地获得数字值 QChar qc('4'); int val=-1; if(qc.isDigit()){ val = qc.toLatin1() - '0'; } 看起来不太好 转换为QString,也不起作用,因为创建一个QString对象并开始解析仅仅是为了这个目的似乎有些过分 QChar qc('4'); int val=-1; if(qc.isDigit()){ val = QString(qc).toInt(); } 我错过了更好的选项或接口吗?有一个方法int
QChar qc('4');
int val=-1;
if(qc.isDigit()){
val = qc.toLatin1() - '0';
}
看起来不太好
转换为QString
,也不起作用,因为创建一个QString对象并开始解析仅仅是为了这个目的似乎有些过分
QChar qc('4');
int val=-1;
if(qc.isDigit()){
val = QString(qc).toInt();
}
我错过了更好的选项或接口吗?有一个方法
int QChar::digitValue()const
:
返回数字的数值,如果字符不正确,则返回-1
一个数字
所以,你可以写:
QChar qc('4');
int val = qc.digitValue();
我不知道我是怎么错过的!?谢谢