【问题标题】:QChar get digit value if `isDigit()`如果`isDigit()`,QChar 获取数字值
【发布时间】:2017-08-24 10:15:40
【问题描述】:

如何优雅地获取数字值?

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

我错过了什么更好的选项或界面?

【问题讨论】:

  • QString::toInt()

标签: c++ qt qchar


【解决方案1】:

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

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

所以,你可以写:

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

【讨论】:

  • 我不知道我是怎么错过的!?谢谢
猜你喜欢
  • 1970-01-01
  • 2017-06-16
  • 2020-08-24
  • 1970-01-01
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多