¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
atof, _atof_l, _wtof, _wtof_l
and
div
eof
not
or
xor
Collapse the table of content
Expand the table of content
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

atof, _atof_l, _wtof, _wtof_l

Convierte una cadena a double.

double atof(
   const char *str 
);
double _atof_l(
   const char *str,
   _locale_t locale
);
double _wtof(
   const wchar_t *str 
);
double _wtof_l(
   const wchar_t *str,
   _locale_t locale
);

str

Cadena que se va a convertir.

locale

Configuración regional que se va a usar.

Cada función devuelve el valor de double generado interpretar los caracteres de entrada como un número. El valor devuelto es 0,0 si la entrada no se puede convertir en un valor de ese tipo.

En todos los casos que se fuera-de- intervalo, el errno se establece en ERANGE. Si el parámetro pasado es NULL, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones establecen errno en EINVAL y devuelven 0.

Estas funciones convierten una cadena de caracteres a un de precisión doble, valor de punto flotante.

La cadena de entrada es una secuencia de caracteres que se pueden interpretar como valor numérico del tipo especificado. La función deja de leer la cadena de entrada en el primer carácter que no reconoce como parte de un número. Este carácter puede ser el carácter null (“\0” o L'\0) que termina la cadena.

El argumento de str a atof y a _wtof tiene el siguiente formato:

[whitespace] [sign] [digits] [.digits] [ {d | D | e | E }[sign]digits]

whitespace consta del espacio o caracteres de tabulación, se omiten que; sign está más (+) o menos (–); y digits es uno o más dígitos decimales. Si ningún dígitos aparecen antes del separador decimal, al menos uno debe aparecer después del separador decimal. Los dígitos decimales pueden ir seguidos por un exponente, formada por una letra preliminar (d, D, e, o E) y un entero decimal opcionalmente firmado.

Las versiones de estas funciones con el sufijo _l son idénticas salvo que usan el parámetro locale pasado en lugar de la configuración regional actual.

Asignaciones de rutina de texto genérico

Rutina TCHAR.H

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tstof

atof

atof

_wtof

_ttof

atof

atof

_wtof

Rutina(s)

Encabezado necesario

atof

<math.h y> stdlib.h <>

_atof_l

<math.h y> stdlib.h <>

_wtof, _wtof_l

<stdlib.h> o <wchar.h>

Este programa muestra cómo los números almacenados como cadenas se pueden convertir en valores numéricos mediante la función de atof .

// crt_atof.c
//
// This program shows how numbers stored as 
// strings can be converted to numeric
// values using the atof function.

#include <stdlib.h>
#include <stdio.h>

int main( void )
{
    char    *str = NULL;
    double  value = 0;

    // An example of the atof function
    // using leading and training spaces.
    str = "  3336402735171707160320 ";
    value = atof( str );
    printf( "Function: atof( \"%s\" ) = %e\n", str, value );

    // Another example of the atof function
    // using the 'd' exponential formatting keyword.
    str = "3.1412764583d210";
    value = atof( str );
    printf( "Function: atof( \"%s\" ) = %e\n", str, value );

    // An example of the atof function
    // using the 'e' exponential formatting keyword.
    str = "  -2309.12E-15";
    value = atof( str );
    printf( "Function: atof( \"%s\" ) = %e\n", str, value );

}
Función: atof (“3336402735171707160320 ") = 3.336403e+021
Función: atof (“3.1412764583d210”) = 3.141276e+210
Función: atof (“-2309.12E-15”) = -2.309120e-012
Mostrar:
© 2015 Microsoft