A valid floating point number for
strtod using the
"C" locale is formed by an optional sign character (
+ or
-), followed by one of:
- A sequence of digits, optionally containing a decimal-point character (
.), optionally followed by an exponent part (an
e or
E character followed by an optional sign and a sequence of digits).
- A
0x or
0X prefix, then a sequence of hexadecimal digits (as in
isxdigit) optionally containing a period which separates the whole and fractional number parts. Optionally followed by a power of 2 exponent (a
p or
P character followed by an optional sign and a sequence of hexadecimal digits).
-
INF or
INFINITY (ignoring case).
-
NAN or
NANsequence (ignoring case), where
sequence is a sequence of characters, where each character is either an alphanumeric character (as in
isalnum) or the underscore character (
_).