table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 - Leap-15.6
 
| 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 unsigned
    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
    classification functions
  
   that are not affected by the currently installed C locale. although some
  
   implementations (e.g. Microsoft in 1252 codepage) may classify additional
  
   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 argument
    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 0–8 \x0–\x8 \0–\10
    control codes ≠0 0 0 0 0 0 0 0 0 0 0 0
  
   (NUL, etc.) 9 \x9 \11 tab (\t) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0
    0
  
   whitespaces 10–13 \xA–\xD \12–\15 (\n, \v, \f, ≠0
    0 ≠0 0 0 0 0 0 0 0 0 0
  
   \r) 14–31 \xE–\x1F \16–\37 control codes ≠0 0 0 0
    0 0 0 0 0 0 0 0 32 \x20 \40 space 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 0 ≠0 0 0 ≠0 0
    ≠0 ≠0 ≠0 0 0 0
  
   QRSTUVWXYZ 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 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 0
  
   qrstuvwxyz 123–126 \x7B–\x7E \172–\176 {|}~ 0 ≠0
    0 0 ≠0 ≠0 0 0 0 0 0 0 127 \x7F \177 backspace ≠0 0 0 0
    0 0 0 0 0 0 0 0
  
   character (DEL)
| 2024.06.10 | http://cppreference.com |