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

NAME
     std::isdigit - std::isdigit

Synopsis
	Defined in header <cctype>
	int isdigit( int ch );

	Checks	if  the  given	character  is  one  of	the  10  decimal digits:
     0123456789.

	The behavior is undefined if the value of ch is not representable as un-
     signed char
	and is not equal to EOF.

Parameters
	ch - character to classify

Return value
	Non-zero value if the character is a numeric character, zero otherwise.

Notes
	isdigit and isxdigit are the only standard narrow character  classifica-
     tion functions
	that are not affected by the currently installed C locale. although some
	implementations  (e.g.	Microsoft  in  1252 codepage) may classify addi-
     tional
	single-byte characters as digits.

	Like all other functions from <cctype>, the behavior of std::isdigit  is
     undefined if
	the argument's value is neither representable as unsigned char nor equal
     to EOF. To
	use these functions safely with plain chars (or signed chars), the argu-
     ment should
	first be converted to unsigned char:

      bool my_isdigit(char ch)
      {
	  return std::isdigit(static_cast<unsigned char>(ch));
      }

	Similarly,  they  should  not  be directly used with standard algorithms
     when the
	iterator's value type is char or signed char. Instead, convert the value
     to unsigned
	char first:

      int count_digits(const std::string& s)
      {
	  return std::count_if(s.begin(), s.end(),
			    // static_cast<int(*)(int)>(std::isdigit)	      //
     wrong
			    // [](int c){ return std::isdigit(c); }	      //
     wrong
			    // [](char c){ return std::isdigit(c); }	      //
     wrong
			       [](unsigned char c){ return std::isdigit(c); } //
     correct
			      );
      }

See also
	isdigit(std::locale) checks if a character is classified as a digit by a
     locale
			     (function template)
	iswdigit	     checks if a wide character is a digit
			     (function)
	C documentation for
	isdigit

	     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::isdigit(3)

home | help