strtod, strtof, strtold - convierten una cadena ASCII a un número en coma
flotante
Biblioteca Estándar C (
libc,
-lc)
#include <stdlib.h>
double strtod(const char *restrict nptr, char **restrict endptr);
float strtof(const char *restrict nptr, char **restrict endptr);
long double strtold(const char *restrict nptr, char **restrict endptr);
strtof(),
strtold():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
Las funciones
strtod(),
strtof() y
strtold() convierten la
porción inicial de la cadena a la que apunta
nptr a
representación
double,
float, y
long double,
respectivamente.
The expected form of the (initial portion of the) string is optional leading
white space as recognized by
isspace(3), an optional plus ('+') or
minus sign ('-') and then either (i) a decimal number, or (ii) a hexadecimal
number, or (iii) an infinity, or (iv) a NAN (not-a-number).
A
decimal number consists of a nonempty sequence of decimal digits
possibly containing a radix character (decimal point, locale-dependent,
usually '.'), optionally followed by a decimal exponent. A decimal exponent
consists of an 'E' or 'e', followed by an optional plus or minus sign,
followed by a nonempty sequence of decimal digits, and indicates
multiplication by a power of 10.
A
hexadecimal number consists of a "0x" or "0X"
followed by a nonempty sequence of hexadecimal digits possibly containing a
radix character, optionally followed by a binary exponent. A binary exponent
consists of a 'P' or 'p', followed by an optional plus or minus sign, followed
by a nonempty sequence of decimal digits, and indicates multiplication by a
power of 2. At least one of radix character and binary exponent must be
present.
Un
infinito es o bien una cadena "INF" o "INFINITY",
sin importar las mayúsuculas.
A
NAN is "NAN" (disregarding case) optionally followed by a
string,
(n-char-sequence), where
n-char-sequence specifies in an
implementation-dependent way the type of NAN (see NOTES).
Esta funciones devuelven el valor convertido, si lo hay.
Si
endptr no es NULL, un puntero al caracter tras el último
caracter utilizado en la conversión es almacenado en la posición
referenciada por
endptr.
Si no se realizó conversión, se devuelve cero y el valor de
nptr es almacenado en la posición referenciada por
endptr, salvo que
endptr sea nulo.
If the correct value would cause overflow, plus or minus
HUGE_VAL,
HUGE_VALF, or
HUGE_VALL is returned (according to the return
type and sign of the value), and
ERANGE is stored in
errno.
If the correct value would cause underflow, a value with magnitude no larger
than
DBL_MIN,
FLT_MIN, or
LDBL_MIN is returned and
ERANGE is stored in
errno.
- ERANGE
- Hubo desbordamiento por arriba o por abajo.
Para obtener una explicación de los términos usados en esta
sección, véase
attributes(7).
Interfaz |
Atributo |
Valor |
strtod(), strtof(), strtold() |
Seguridad del hilo |
Configuración regional de multi-hilo seguro |
POSIX.1-2001, POSIX.1-2008, C99.
Since 0 can legitimately be returned on both success and failure, the calling
program should set
errno to 0 before the call, and then determine if an
error occurred by checking whether
errno has a nonzero value after the
call.
In the glibc implementation, the
n-char-sequence that optionally follows
"NAN" is interpreted as an integer number (with an optional '0' or
'0x' prefix to select base 8 or 16) that is to be placed in the mantissa
component of the returned value.
See the example on the
strtol(3) manual page; the use of the functions
described in this manual page is similar.
atof(3),
atoi(3),
atol(3),
nan(3),
nanf(3),
nanl(3),
strfromd(3),
strtol(3),
strtoul(3)
La traducción al español de esta página del manual fue
creada por Vicente Pastor Gómez <
[email protected]>,
Miguel Pérez Ibars <
[email protected]> y Marcos Fouces
<
[email protected]>
Esta traducción es documentación libre; lea la
GNU
General Public License Version 3 o posterior con respecto a las
condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta página
del manual, envíe un correo electrónico a
[email protected]