Partager via


atof, _atof_l, _wtof, _wtof_l

Convertit une chaîne en 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
);

Paramètres

  • str
    chaîne à convertir.

  • locale
    Paramètres régionaux à utiliser.

Valeur de retour

Chaque fonction retourne la valeur d' double produite en interprétant les caractères d'entrée comme nombre.La valeur de retour est 0,0 si l'entrée ne peut pas être convertie en une valeur de ce type.

Dans tous les cas hors limites, l'errno est défini à ERANGE.Si le paramètre passé est NULL, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, ces errno défini par fonctions à EINVAL et à retourner 0.

Notes

Ces fonctions et convertissent une chaîne de caractères à une double précision, valeur à virgule flottante.

La chaîne d'entrée est une séquence de caractères qui peuvent être interprètes comme valeur numérique du type spécifié.La fonction arrête de lire la chaîne d'entrée au premier caractère qu'il ne peut pas reconnaître dans le cadre d'un nombre.Ce caractère peut être le caractère NULL (" » de \0'or L \ 0 ') arrêt de la chaîne.

L'argument d' str à atof et à _wtof a la forme suivante :

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

whitespace se compose d'espaces ou des tabulations, qui sont ignorés ; sign est plus (+) ou moins (–) ; et digits sont un ou plusieurs chiffres décimaux.Si chiffre ne s'affiche pas avant la virgule décimale, au moins un doit apparaître après la virgule décimale.Les chiffres décimaux peuvent être suivies par un exposant, qui se compose d'une lettre préliminaire (d, D, e, ou E) et d'un entier décimal éventuellement signé.

Les versions de ces fonctions par le suffixe d' _l sont identiques mais elles utilisent le paramètre de paramètres régionaux passé au lieu des paramètres régionaux.

mappages de routines de texte générique

routine de TCHAR.H

_UNICODE et _MBCS non définis

_MBCS défini

_UNICODE défini

_tstof

atof

atof

_wtof

_ttof

atof

atof

_wtof

Configuration requise

routines

en-tête requis

atof

<math.h> et <stdlib.h>

_atof_l

<math.h> et <stdlib.h>

_wtof, _wtof_l

<stdlib.h> ou <wchar.h>

Exemple

Ce programme montre comment les nombres stockées sous forme de chaînes peuvent être convertis aux valeurs numériques à l'aide de la fonction d' 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 );

}
  

Équivalent .NET Framework

Voir aussi

Référence

Conversion de données

Support à virgule flottante

Paramètres régionaux

_ecvt

_fcvt

_gcvt

setlocale, _wsetlocale

_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt_l de _atoflt