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

Какие-нибудь лучшие варианты или интерфейсы, которые я пропустил?

2

Решение

Есть метод int QChar::digitValue() const который:

возвращает числовое значение цифры или -1, если символ не
цифра

Итак, вы можете написать:

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]