2017-08-24 66 views
2

如何优雅地获得数字值?QChar则获得数字值,如果`ISDIGIT()`

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

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

+1

的QString :: toInt() –

回答

3

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

返回数位的数字值,或者如果该字符不是 一个数字-1。

所以,你可以写:

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

,我不知道我怎么错过了!?谢谢 –