2017-08-24 68 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

,我不知道我怎麼錯過了!?謝謝 –