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
NAN
sequence (ignoring case), where
sequence is a sequence of characters, where each character is either an alphanumeric character (as in
isalnum) or the underscore character (
_
).