atof atoff subrutina
Finalidad
Convierte una serie ASCII en un número de coma flotante o de coma flotante doble.
Bibliotecas
Biblioteca C estándar (libc.a)
Sintaxis
#include <stdlib.h> double atof (NumberPointer)
const char *NumberPointer; float atoff (NumberPointer)
char *NumberPointer; Descripción
La subrutina atof convierte una serie de caracteres, a la que apunta el parámetro NumberPointer , en un número de coma flotante de precisión doble. La subrutina atoff convierte una serie de caracteres, a la que apunta el parámetro NumberPointer , en un número de coma flotante de precisión simple. El primer carácter no reconocido finaliza la conversión.
Excepto por el comportamiento en caso de error, la subrutina atof es equivalente a la llamada de subrutina strtod , con el parámetro EndPointer establecido en (char * *) NULL.
Excepto por el comportamiento en caso de error, la subrutina atoff es equivalente a la llamada de subrutina strtof , con el parámetro EndPointer establecido en (char * *) NULL.
Estas subrutinas reconocen una serie de caracteres cuando los caracteres están en uno de dos formatos: números o símbolos numéricos.
- Para que una serie se reconozca como un número, debe contener las siguientes partes en el orden siguiente:
- Una serie opcional de caracteres de espacio en blanco
- Un signo opcional
- Una serie no vacía de dígitos que contiene opcionalmente un carácter de raíz
- Exponente opcional en formato E o e-formato seguido de un entero con signo opcional.
- Para que una serie se reconozca como un símbolo numérico, debe contener las siguientes partes en el orden siguiente:
- Una serie opcional de caracteres de espacio en blanco
- Un signo opcional
- Una de las cadenas INF, infinito, NaNQ, NaNS o NaN (sin distinguir mayúsculas de minúsculas)
La subrutina atoff no forma parte de la biblioteca C de ANSI. Estas subrutinas son al menos tan precisas como requiere el estándar IEEE para aritmética de coma flotante binaria. La subrutina atof acepta al menos 17 dígitos decimales significativos. El atoff y la subrutina aceptan al menos 9 0 iniciales. Los 0 iniciales no se cuentan como dígitos significativos.
Parámetros
| Elemento | Descripción |
|---|---|
| NumberPointer | Especifica una serie de caracteres a convertir. |
| EndPointer | Especifica un puntero al carácter que ha finalizado la exploración o un valor nulo. |
Valores de retorno
Al finalizar correctamente, las subrutinas atofy atoff devuelven el valor convertido. Si no se ha podido realizar ninguna conversión, se devuelve un valor de 0 y la variable global errno se establece para indicar el error.
Códigos de error
Si la conversión no se puede realizar, se devuelve un valor de 0 y la variable global errno se establece para indicar el error.
Si la conversión provoca un desbordamiento (es decir, el valor está fuera del rango de valores representables), se devuelve +/- HUGE_VAL con el signo que indica la dirección del desbordamiento y la variable global errno se establece en ERANGE.
Si la conversión provoca un subdesbordamiento, se devuelve un valor firmado correctamente de 0 y la variable global errno se establece en ERANGE.
La subrutina atoff sólo tiene un error de redondeo. (Si se utiliza la subrutina atof para crear un número de coma flotante de precisión doble y, a continuación, ese número de precisión doble se convierte en un número de coma flotante, podrían producirse dos errores de redondeo.)