std::iswdigit
STD::异位数
Defined in header | | |
---|---|---|
int iswdigit( wint_t ch | | |
检查给定的宽字符是否对应于%28,如果将%29缩小为十进制数字字符之一0123456789
...
参数
ch | - | wide character |
---|
返回值
如果宽字符是数字字符,则为非零值,否则为零。
注记
std::iswdigit
和std::iswxdigit
是唯一不受当前安装的C语言环境影响的标准宽字符分类函数。
例
一些区域设置提供了检测非ASCII数字的附加字符类。
二次
#include <iostream>
#include <cwctype>
#include <clocale>
void test(wchar_t a3, wchar_t u3, wchar_t j3)
{
std::wcout << std::boolalpha
<< " '" << a3 << "' '" << u3 << "' '" << j3 << "'\n"
<< "iswdigit "
<< (bool)std::iswdigit(a3) << " "
<< (bool)std::iswdigit(u3) << " "
<< (bool)std::iswdigit(j3) << '\n'
<< "jdigit: "
<< (bool)std::iswctype(a3, std::wctype("jdigit")) << ' '
<< (bool)std::iswctype(u3, std::wctype("jdigit")) << ' '
<< (bool)std::iswctype(j3, std::wctype("jdigit")) << '\n';
}
int main()
{
wchar_t a3 = L'3'; // the ASCII digit 3
wchar_t u3 = L'三'; // the CJK numeral 3
wchar_t j3 = L'3'; // the fullwidth digit 3
std::setlocale(LC_ALL, "en_US.utf8"
std::wcout << "In american locale:\n";
test(a3, u3, j3
std::wcout << "\nIn japanese locale:\n";
std::setlocale(LC_ALL, "ja_JP.utf8"
test(a3, u3, j3
}
二次
产出:
二次
In american locale:
'3' '三' '3'
iswdigit true false false
jdigit: false false false
In japanese locale:
'3' '三' '3'
iswdigit true false false
jdigit: false false true
二次
另见
isdigit(std::locale) | checks if a character is classified as a digit by a locale (function template) |
---|---|
isdigit | checks if a character is a digit (function) |
c等位数的文件
ASCII values (hex) | characters | iscntrl iswcntrl. | isprint iswprint. | isspace iswspace. | isblank iswblank. | isgraph iswgraph. | ispunct iswpunct. | isalnum iswalnum. | isalpha iswalpha. | isupper iswupper. | islower iswlower. | isdigit iswdigit. | isxdigit iswxdigit. |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 - 8 | 0x00-0x08 | control codes (NUL, etc.) | ≠0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
9 | 0x09 | tab (\t) | ≠0 | 0 | ≠0 | ≠0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
10 - 13 | 0x0A-0x0D | whitespaces (\n,\v,\f,\r) | ≠0 | 0 | ≠0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
14 - 31 | 0x0E-0x1F | control codes | ≠0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
32 | 0x20 | space | 0 | ≠0 | ≠0 | ≠0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
33 - 47 | 0x21-0x2F | !"#$%&'()*+,-./ | 0 | ≠0 | 0 | 0 | ≠0 | ≠0 | 0 | 0 | 0 | 0 | 0 |
48 - 57 | 0x30-0x39 | 0123456789 | 0 | ≠0 | 0 | 0 | ≠0 | 0 | ≠0 | 0 | 0 | 0 | ≠0 |
58 - 64 | 0x3a-0x40 | :;<=>?@ | 0 | ≠0 | 0 | 0 | ≠0 | ≠0 | 0 | 0 | 0 | 0 | 0 |
65 - 70 | 0x41-0x46 | ABCDEF | 0 | ≠0 | 0 | 0 | ≠0 | 0 | ≠0 | ≠0 | ≠0 | 0 | 0 |
71 - 90 | 0x47-0x5A | GHIJKLMNOPQRSTUVWXYZ | 0 | ≠0 | 0 | 0 | ≠0 | 0 | ≠0 | ≠0 | ≠0 | 0 | 0 |
91 - 96 | 0x5B-0x60 | []^_` | 0 | ≠0 | 0 | 0 | ≠0 | ≠0 | 0 | 0 | 0 | 0 | 0 | 0 | | |||||||||||
97 -102 | 0x61-0x66 | abcdef | 0 | ≠0 | 0 | 0 | ≠0 | 0 | ≠0 | ≠0 | 0 | ≠0 | 0 |
103-122 | 0x67-0x7A | ghijklmnopqrstuvwxyz | 0 | ≠0 | 0 | 0 | ≠0 | 0 | ≠0 | ≠0 | 0 | ≠0 | 0 |
123-126 | 0x7B-0x7E | {|}~ | 0 | ≠0 | 0 | 0 | ≠0 | ≠0 | 0 | 0 | 0 | 0 | 0 |
127 | 0x7F | backspace character (DEL) | ≠0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。