QChar :: isDigit()和QChar :: isNumber()之间有什么区别?

sas*_*alm 3 c++ qt

我阅读文档,它说的QChar则:: ISNUMBER()

如果字符是数字(Number_* categories,而不仅仅是0-9),则返回true ;

但是,当我点击Number_*时,它会将我发送到http://qt-project.org/doc/qt-5/stylesheet-reference.html#number,这是关于样式表,但它没有有道理 - 样式表与QChar有什么关系?

所以要知道差异,我需要知道那些Number_*类别到底是什么,我认为文档中的链接没有解释它,而是指向我关于样式表的文档.

Zet*_*eta 6

(正确的)提示隐藏在文档中isDigit():

如果字符是十进制数字,则返回true(Number_DecimalDigit); 否则返回false.

在这里,Number_*链接是正确的:

QChar::Number_DecimalDigit    3   Unicode class name Nd
QChar::Number_Letter          4   Unicode class name Nl
QChar::Number_Other           5   Unicode class name No
Run Code Online (Sandbox Code Playgroud)

因此,isNumber()将检查给定QChar是否是unicode类的一部分Nd,NlNo.例如,被分类为"数字,其他",而(罗马数字2)被分类为"数字,字母".