Namespaces
Variants

std:: iswdigit

From cppreference.net
Определено в заголовочном файле <cwctype>
int iswdigit ( wint_t ch ) ;

Проверяет, соответствует ли заданный широкий символ (при сужении) одному из десяти символов десятичных цифр 0123456789 .

Если значение ch не может быть представлено как wchar_t и не равно значению макроса WEOF , поведение не определено.

Содержание

Параметры

ch - широкий символ

Возвращаемое значение

Ненулевое значение, если широкий символ является числовым символом, и ноль в противном случае.

Примечания

std::iswdigit и std::iswxdigit являются единственными стандартными функциями классификации широких символов, на которые не влияет текущая установленная локаль C.

Пример

Некоторые локали предоставляют дополнительные классы символов, которые обнаруживают не-ASCII цифры

#include <clocale>
#include <cwctype>
#include <iostream>
void test(wchar_t a3, wchar_t u3, wchar_t j3)
{
    std::wcout << std::boolalpha
               << "\t   '" << 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 full-width 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

Смотрите также

проверяет, классифицируется ли символ как цифра в локали
(шаблон функции)
проверяет, является ли символ цифрой
(функция)
**Примечание:** В данном HTML-фрагменте нет текста для перевода, требующего локализации на русский язык. Все содержимое состоит из: - HTML-тегов и атрибутов (не подлежат переводу) - Числовых значений и диапазонов - Символьных кодов в тегах ` ` (не подлежат переводу) - Специальных символов и математических обозначений Единственный потенциально переводимый элемент - тире "–" между значениями, но в данном контексте оно используется как математический символ диапазона и не требует перевода. **Примечание:** В данном HTML-фрагменте весь текст, который требовалось перевести, уже находится внутри тегов ` `, `
` или `` (которых здесь нет), либо представляет собой числовые значения и C++ специфические термины. Согласно инструкциям, такие элементы не подлежат переводу. Единственный текст вне этих тегов - числовой диапазон "48–57", который также является техническим обозначением и не требует перевода.
**Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из: - HTML тегов и атрибутов (не подлежат переводу) - Кодовых последовательностей в тегах ` ` (не подлежат переводу) - Числовых значений и специальных символов - Символа "–" (тире), который является стандартным разделителем диапазонов Форматирование и все технические элементы сохранены в оригинальном виде. **Примечание:** В данном HTML-фрагменте не содержится текста для перевода, требующего локализации на русский язык. Все элементы представляют собой: - Числовые диапазоны (65–70) - Шестнадцатеричные и восьмеричные escape-последовательности C++ (сохранены без изменений) - Символьные литералы (ABCDEF) - Логические значения (0 и ≠0) Все HTML-теги, атрибуты и содержимое тегов ` ` сохранены в оригинальном виде в соответствии с требованиями. **Примечание:** В данном HTML-фрагменте не содержится текста для перевода, требующего локализации на русский язык. Все элементы представлены: - Числовыми диапазонами (71–90) - Шестнадцатеричными (\x47–\x5A) и восьмеричными (\107–\132) кодами - Буквенными последовательностями (GHIJKLMNOP, QRSTUVWXYZ) - Математическими символами (0, ≠0) Согласно требованиям, HTML-теги, атрибуты и содержимое внутри тегов ` ` не подлежат переводу. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из числовых значений, шестнадцатеричных кодов, символов и HTML-тегов, которые согласно инструкциям не подлежат переводу. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода, требующий локализации на русский язык. Все содержимое состоит из: - HTML-тегов и атрибутов (сохранены без изменений) - Числовых значений и шестнадцатеричных кодов внутри тегов ` ` (не подлежат переводу) - Символов диапазона "–" (дефис/тире) - Специальных символов "≠0" (математический символ "не равно нулю") Все элементы сохранены в исходном формате в соответствии с требованиями. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (103–122) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений согласно инструкциям - Символы `–` и `≠` являются математическими символами, а не текстом для перевода - HTML-теги и атрибуты сохранены в оригинальном виде **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (123–126) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений - Символы `–` и `≠` являются математическими символами - HTML-теги и атрибуты сохранены в оригинале Весь контент уже представлен в корректном для C++ контексте формате.
Значения ASCII символы

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 \x0 \x8 \0 \10 управляющие коды ( NUL и др.) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 табуляция ( \t ) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA \xD \12 \15 пробельные символы ( \n , \v , \f , \r ) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE \x1F \16 \37 управляющие коды ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 пробел 0 ≠0 ≠0 ≠0 0 0 0 0 0 0 0 0
33–47 \x21 \x2F \41 \57 !"#$%&'()*+,-./ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
48–57 \x30 \x39 \60 \71 0123456789 0 ≠0 0 0 ≠0 0 ≠0 0 0 0 ≠0 ≠0
58–64 \x3A \x40 \72 \100 :;<=>?@ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
65–70 \x41 \x46 \101 \106 ABCDEF 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 ≠0
71–90 \x47 \x5A \107 \132 GHIJKLMNOP
QRSTUVWXYZ
0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 0
91–96 \x5B \x60 \133 \140 [\]^_` 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
97–102 \x61 \x66 \141 \146 abcdef 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 ≠0
103–122 \x67 \x7A \147 \172 ghijklmnop
qrstuvwxyz
0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 0
123–126 \x7B \x7E \172 \176 {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 \x7F \177 символ удаления ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0