home | help
std::iswdigit(3)	       C++ Standard Libary		std::iswdigit(3)

NAME
     std::iswdigit - std::iswdigit

Synopsis
	Defined in header <cwctype>
	int iswdigit( wint_t ch );

	Checks	if  the given wide character corresponds (if narrowed) to one of
     the ten
	decimal digit characters 0123456789.

	If the value of ch is neither representable as a wchar_t  nor  equal  to
     the value of
	the macro WEOF, the behavior is undefined.

Parameters
	ch - wide character

Return value
	Non-zero value if the wide character is a numeric character, zero other-
     wise.

Notes
	std::iswdigit  and  std::iswxdigit  are the only standard wide character
     classification
	functions that are not affected by the currently installed C locale.

Example
	Some locales offer additional character classes  that  detect  non-ASCII
     digits

     // Run this code

      #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'a,'; // the CJK numeral 3
	  wchar_t j3 = L'i1/4'; // 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);
      }

Possible output:
      In American locale:
		 '3'   'a,'  'i1/4'
      iswdigit: true  false false
      jdigit:	false false false

      In Japanese locale:
		 '3'   'a,'  'i1/4'
      iswdigit: true  false false
      jdigit:	false false true

See also
	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 documentation for
	iswdigit

	     ASCII values	      characters     iscntrl   isprint	 isspace
     isblank   isgraph	 ispunct   isalnum   isalpha   isupper	islower  isdigit
     isxdigit decimal hexadecimal    octal		      iswcntrl	iswprint
     iswspace  iswblank  iswgraph  iswpunct  iswalnum iswalpha iswupper iswlower
     iswdigit iswxdigit  0a8	  \x0a\x8      \0a\10	  control  codes    a  0
     0	       0	 0	  0	   0	    0	     0	      0        0
     0	      0
				   (NUL,   etc.)    9	      \x9	     \11
     tab  (\t)	      a 0	0	 a 0	   a 0	     0	      0        0
     0	      0        0	0	 0
				   whitespaces	 10a13	   \xAa\xD	 \12a\15
     (\n,  \v,	\f,    a 0	 0	  a 0	    0	     0	      0        0
     0	      0        0	0	 0
				   \r)	14a31	 \xEa\x1F     \16a\37	 control
     codes    a  0	 0	  0	   0	    0	     0	      0        0
     0	       0	 0	   0   32	 \x20	       \40	   space
     0	       a  0	   a  0        a  0	   0	     0	      0        0
     0	      0        0	0 33a47   \x21a\x2F   \41a\57	 !"#$%&'()*+,-./
     0	       a  0	   0	     0	       a  0	   a  0       0        0
     0	      0 	0	  0  48a57    \x30a\x39    \60a\71    0123456789
     0	       a  0	   0	     0	       a  0	   0	     a 0       0
     0	      0        a 0	  a  0	58a64	 \x3Aa\x40    \72a\100	 :;<=>?@
     0	       a  0	   0	     0	       a  0	   a  0       0        0
     0	       0	 0	   0  65a70	\x41a\x46     \101a\106   ABCDEF
     0	       a  0	   0	     0	       a  0	  0	   a 0	     a 0
     a 0       0	0	 a 0 71a90    \x47a\x5A    \107a\132  GHIJKLMNOP
     0	       a  0	   0	     0	       a  0	  0	   a 0	     a 0
     a 0       0	0	 0
				   QRSTUVWXYZ  91a96	 \x5Ba\x60     \133a\140
     [\]^_`	      0        a 0	 0	  0	   a 0	     a 0       0
     0	      0        0	0	 0 97a102  \x61a\x66   \141a\146  abcdef
     0	       a  0	   0	     0	       a  0	  0	   a 0	     a 0
     0	      a 0	0	 a 0 103a122  \x67a\x7A    \147a\172  ghijklmnop
     0	       a  0	   0	     0	       a  0	  0	   a 0	     a 0
     0	      a 0	0	 0
				   qrstuvwxyz 123a126 \x7Ba\x7E   \172a\176 {|}~
     0	      a 0	 0	   0	     a	0	 a  0	     0	       0
     0	       0	 0	   0  127      \x7F	    \177       backspace
     a 0       0	0	 0	  0	   0	    0	     0	       0
     0	      0        0
				   character (DEL)

http://cppreference.com 	   2024.06.10			std::iswdigit(3)

home | help