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
Supporto per le operazioni in virgola mobile
_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt_l di _atoflt