2

如何优雅地获取数字值?

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

我错过了任何更好的选择或界面吗?

4

1 回答 1

3

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

返回数字的数值,如果字符不是数字,则返回 -1。

所以,你可以写:

QChar qc('4');
int val = qc.digitValue();
于 2017-08-24T12:13:46.750 回答