|
double
atof(const char *nptr);
Convierte la posición inicial de
la cadena a la cual señala nptr a representación double.
La función atof devuelve el valor convertido.
int
atoi(const char *nptr);
Convierte la posición inicial de la cadena a la cual
señala nptr a representación int. La función
atoi devuelve el valor convertido.
long
int atol(const char *nptr);
Convierte la posición inicial de la cadena a la cual
señala nptr a representación long. La función
atol devuelve el valor convertido.
double
stdrtod(const char *nptr, char **endptr );
Convierte la posición inicial a la cual señala
nptr a representación double. Primero divide en tres partes
la cadena de entrada: una secuecia inicial , posiblemente vacía,
de caracteres en blanco ( tal y como se define en la función
isspace), una secuencia sujeto parecida a una constante de punto
flotante; y una cadena final de uno o más caracteres no reconocidos,
que incluyen el carácter nulo de terminación de la
cadena de entrada. A continuación, intenta convertir la secuencia
sujeto a un número de punto flotante y devuelve el resultado.
La forma expandida de la secuencia sujeto es un signo más
o un signo menos opcional, a continuación una secuencia de
dígitos no vacía, que de forma opcional contenga un
carácter de punto decimal, a continuación una parte
exponencial opcional, pero sin sufijo flotante. La secuencia sujeto
se define como la subsecuencia inicial más extensa de la
secuencia de entrada, empezando con el primer carácter de
espacio no en blanco, esto es de la forma esperada. La secuencia
sujeto no contiene ningún carácter, si la cadena de
entrada está vacia o está formada sólo por
caracteres en blanco o si el carácter de no espacio en blanco,
que está en primer término, es distinto de un signo,
de un dígito o de un carácter de punto decimal.
Si la secuencia sujeto tiene la forma esperada, la secuencia de
caracteres que se inicia con el primer dígito o con el carácter
de punto decimal ( lo que ocurra primero) se interpreta como una
constante flotante, excepto que el carácter de punto decimal
se utilizará en lugar de un periodo, y si no aparecen una
parte exponencial ni un carácter de punto decimal, se supondrá
un punto decimal que deberá seguir al último dígito
en la cadena. Si la secuencia sujeto comienza con un signo menos,
el valor que resulta de la conversión se hace negativa. Un
apuntador a la cadena final se almacena en el objeto al cual señala
endptr, siempre y cuando que endptr no sea un apuntador nulo.
Si la secuencia sujeto está vacia o no tiene la forma esperada,
no se llevará a cabo la conversión;el valor de nptr
se almacena en el objeto al cual señala endptr, siempre y
cuando endptr no sea un apuntador nulo.
La función strtod devuelve el valor convertido si es que
hubiera alguno. Si no se ha ejecutado conversión, devuelve
cero. Si el valor correcto queda fuera del rango de los valores
representables, se devuelve más o menos HUGE_VAL ( según
el signo del valor), y se almacena el valor de la macro ERANGE en
errno. Si el valor correcto pudiera generar desbordamiento, se devuelve
cero y el valor de la macro ERANGE queda almacenado en errno.
|
|