如何优雅地获得数字值?

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();
}

我错过了更好的选择或接口(interface)吗?

最佳答案

有一种方法int QChar::digitValue() const which:



因此,您可以编写:

QChar qc('4');
int val = qc.digitValue();

10-07 19:28