Condividi tramite


atof, _atof_l, _wtof, _wtof_l

Convertire una stringa su duale.

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
);

Parametri

  • str
    Stringa da convertire.

  • locale
    impostazioni locali da utilizzare.

Valore restituito

Ogni funzione restituisce il valore di double prodotto interpretazione dei caratteri di input come numero.Il valore restituito è 0,0 se l'input non può essere convertito in un valore di quel tipo.

In tutti i casi esterni nell' intervallo, il errno è impostato su ERANGE.Se il parametro passato è NULL, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, questo errno impostato funzioni a EINVAL e restituiscono 0.

Note

Queste funzioni consentono di convertire una stringa di caratteri a un a precisione doppia, valore a virgola mobile.

La stringa di input è una sequenza di caratteri che possono essere interpretati come valore numerico del tipo specificato.La funzione smette di leggere la stringa di input nel primo carattere che non è in grado di riconoscere come parte di un numero.Questo carattere può essere il carattere null„ \ 0 " (" di \0'or L) che termina la stringa.

L'argomento di str a atof e a _wtof presenta il formato seguente:

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

whitespace è costituito dallo spazio o di caratteri di tabulazione, che vengono ignorati; sign è più (+) o meno (–); e digits è una o più cifre decimali.Se nessuna cifra viene visualizzata prima del separatore decimale, almeno uno deve apparire dopo il separatore decimale.Le cifre decimali possono essere eseguite da un esponente, costituito da una lettera introduttiva (d, D, e, o E) e un Integer decimale facoltativamente con segno.

Le versioni di queste funzioni con il suffisso di _l sono identiche ma utilizzano il parametro delle impostazioni locali passato alle impostazioni locali correnti.

Mapping di routine a testo generico

routine di TCHAR.H

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_tstof

atof

atof

_wtof

_ttof

atof

atof

_wtof

Requisiti

routine

Intestazione di associazione

atof

<math.h> e <definito>

_atof_l

<math.h> e <definito>

_wtof, _wtof_l

<stdlib.h> o <wchar.h>

Esempio

In questo programma come numeri archiviati come stringhe possono essere convertiti in valori numerici utilizzando la funzione di 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 );

}
  

Equivalente .NET Framework

Vedere anche

Riferimenti

Conversione di dati

Supporto per le operazioni in virgola mobile

Impostazioni locali

_ecvt

_fcvt

_gcvt

setlocale, _wsetlocale

_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt_l di _atoflt