---
name: "ishexnumber"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/ishexnumber"
---

# ishexnumber(3)

hexadecimal-digit character test

## NAME

**isxdigit**, **ishexnumber**, **isxdigit\_l**, **ishexnumber\_l** – hexadecimal-digit character test

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<ctype.h\>**

*int*\

**isxdigit**(*int c*);

*int*\

**ishexnumber**(*int c*);

*int*\

**isxdigit\_l**(*int c*, *locale\_t loc*);

*int*\

**ishexnumber\_l**(*int c*, *locale\_t loc*);

## DESCRIPTION

The **isxdigit**() and **isxdigit\_l**() functions test for any hexadecimal-digit character. Regardless of locale, this includes the following characters only:

| | | | | |
| --- | --- | --- | --- | --- |
| \`\`0'' | \`\`1'' | \`\`2'' | \`\`3'' | \`\`4'' |
| \`\`5'' | \`\`6'' | \`\`7'' | \`\`8'' | \`\`9'' |
| \`\`A'' | \`\`B'' | \`\`C'' | \`\`D'' | \`\`E'' |
| \`\`F'' | \`\`a'' | \`\`b'' | \`\`c'' | \`\`d'' |
| \`\`e'' | \`\`f'' |  |  |  |

The **ishexnumber**() and **ishexnumber\_l**() functions behave similarly to **isxdigit**() and **isxdigit\_l**(), but may recognize additional characters, depending on the current locale setting.

The value of the argument must be representable as an *unsigned char* or the value of EOF.

The \_l-suffixed versions take an explicit locale argument, whereas the non-suffixed versions use the current global or per-thread locale.

## RETURN VALUES

The **isxdigit**() and **isxdigit\_l**() functions return zero if the character tests false and return non-zero if the character tests true.

## COMPATIBILITY

The 4.4BSD extension of accepting arguments outside of the range of the *unsigned char* type in locales with large character sets is considered obsolete and may not be supported in future releases. The **iswxdigit**() or **iswxdigit\_l**() function should be used instead.

## SEE ALSO

[ctype(3)](/ctype/3.md), [ctype\_l(3)](/ctype_l/3.md), [iswxdigit(3)](/iswxdigit/3.md), [iswxdigit\_l(3)](/iswxdigit_l/3.md), [xlocale(3)](/xlocale/3.md), [ascii(7)](/ascii/7.md)

## STANDARDS

The **isxdigit**() function conforms to ISO/IEC 9899:1990 (“ISO C90”).

## HISTORY

The **ishexnumber**() function appeared in 4.4BSD.
