Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/string/byte/isdigit"

From cppreference.com
< cpp‎ | string‎ | byte
(mention locale-specific nature)
(just learned that this function is not locale-dependent.)
Line 5: Line 5:
 
}}
 
}}
  
Checks if the given character is classified as a numeric character by the currently installed C locale. In the default locale, only the characters ({{tt|0123456789}}) are classified as digits.
+
Checks if the given character is one of the characters ({{tt|0123456789}}).
  
 
===Parameters===
 
===Parameters===
Line 14: Line 14:
 
===Return value===
 
===Return value===
 
Non-zero value ({{c|true}}) if the character is a numeric character, {{tt|0}} ({{c|false}}) otherwise.
 
Non-zero value ({{c|true}}) if the character is a numeric character, {{tt|0}} ({{c|false}}) otherwise.
 +
 +
===Notes===
 +
{{tt|isdigit}} and {{tt|isxdigit}} are the only standard 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).
 +
<!-- ref: C standard, note 224 in $7.11.1.1 -->
  
 
===See also===
 
===See also===

Revision as of 09:21, 15 October 2012

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

Checks if the given character is one of the characters (0123456789).

Contents

Parameters

ch - character

Return value

Non-zero value (true) if the character is a numeric character, 0 (false) otherwise.

Notes

isdigit and isxdigit are the only standard 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).

See also

Template:cpp/locale/dcl list isdigitTemplate:cpp/string/wide/dcl list iswdigit
C documentation for isdigit
ASCII values 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

decimal hexadecimal octal
0–8 \x0\x8 \0\10 control codes (NUL, etc.) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 tab (\t) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA\xD \12\15 whitespaces (\n, \v, \f, \r) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
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
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 backspace character (DEL) ≠0 0 0 0 0 0 0 0 0 0 0 0