carta
isdigit_l(3)

isdigit_l3

Decimal-digit character test

Part of isdigit(3).

Usage

int

int

int

int

Library

Standard C Library (libc, -lc)

Overview

The isdigit() and isdigit_l() functions test for a decimal digit character. Regardless of locale, this includes the following characters only:

``0''``1''``2''``3''``4''
``5''``6''``7''``8''``9''

The isnumber() and isnumber_l() functions behave similarly to isdigit() and isdigit_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 isdigit(), isdigit_l(), isnumber(), and isnumber_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 iswdigit() or iswdigit_l() function should be used instead.

History

  • FreeBSD 16.0-CURRENT (2026-10-27) to FreeBSD 15.0-RELEASE: the text shown here
  • FreeBSD 14.5-RELEASE to FreeBSD 13.3-RELEASE
  • FreeBSD 13.2-RELEASE

Standards

The isdigit() function conforms to ISO/IEC 9899:1990 (“ISO C90”). The isdigit_l() function conforms to IEEE Std 1003.1-2008 (“POSIX.1”).

History

The isnumber() function appeared in 4.4BSD.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.