Funzione ATOF nella lingua C

Funzione ATOF nella lingua C
Le funzioni di conversione da un tipo di dati all'altra sono molto utili in diversi casi. Ci consentono di utilizzare le diverse funzioni con diversi tipi di dati nei loro argomenti di input e output per elaborarli.

Generalmente, i dati che l'utente inserisce nel sistema tramite una console di comando, un'interfaccia utente grafica o un file di testo vengono creati sotto forma di stringhe che in seguito dobbiamo convertire in numeri interi, doppi, galleggianti, ecc. Per elaborarli.

In questo Suggerimento Linux Articolo, ti mostreremo come usare il atof () funzione per convertire le stringhe al loro valore numerico del punto galleggiante o del doppio tipo.

Daremo un breve sguardo alla teoria di questa funzione, agli argomenti di input e output e i tipi di dati che accetta. Quindi, usando esempi pratici con frammenti di codice e immagini, implementeremo l'uso del atof () funzione in vari casi.

ATOF () Sintassi della funzione in lingua C

doppio atof (const char *str);

ATOF () Descrizione della funzione in lingua C

Per la seguente espressione, il atof () La funzione converte la stringa "STR" dal suo argomento di input e restituisce il suo valore numerico del punto float nel doppio di output, "a".

a = atof ( * str);

La conversione inizia con il carattere più significativo del valore e termina con il carattere meno significativo del valore, ignora gli spazi e termina quando si verifica un carattere non numerico. Nei casi in cui la conversione non è possibile a causa di più casi, come se la stringa inviata nell'argomento di input non contiene i caratteri numerici, atof () restituisce 0 come risultato in "a".

Queste funzioni di conversione sono tra quelle che sono incluse nella libreria standard. Dobbiamo includere "stdlib.”” ”nel nostro".C "o".file h "dalla riga seguente prima di usarli:

#includere

Una volta il "stdlib.H ”” è incluso, possiamo usare atof () e le funzioni che contiene.

Successivamente, vedremo alcuni esempi pratici in cui implementiamo questa funzione.

Come convertire una stringa in valore numerico usando la funzione ATOF () nella lingua C

In questo esempio, vedremo come usare il atof () funzione per convertire una stringa in un valore numerico. Per fare ciò, creiamo la stringa "STR" con la stringa che rappresenta la radice quadrata di 2 e la variabile "A" in cui memorizziamo il risultato numerico della conversione.

Per convertire la stringa al suo valore numerico, chiamiamo il atof () funzione e passare il str stringa come argomento di input.

Il seguente frammento di codice mostra la conversione corretta di una stringa a un valore numerico. Il valore convertito è memorizzato nella doppia "A":

#includere
#includere
void main ()

char str [20] = "1.4142 ";
doppio a;
a = atof (str);

In questo modo, con il atof () funzione, abbiamo il valore immesso come stringa in formato punto mobile in un doppio tipo per essere in grado di elaborarlo con le varie funzioni matematiche che abbiamo nella lingua C.

Una volta pronto il nostro codice, lo compiliamo ed eseguiamo la console Linux con la seguente riga di comando:

~ $ GCC Documents/ATOF_EX1.c -o atof_1
~ $ ./ATOF_1

La seguente immagine mostra la compilazione per questo codice:

La funzione ATOF () con caratteri non numerici nella sua stringa di input

La funzione Atof () accetta solo i caratteri numerici e un punto decimale per la conversione. Nei casi in cui nessuno di questi caratteri è presente nella stringa di input o solo un punto decimale viene trovato senza caratteri numerici, atof () restituisce 0, come mostrato nel seguente esempio:

#includere
#includere
void main ()

Char Str [20] = "Hello World";
doppio a;
a = atof (str);
printf ("a = %f", a);

La figura seguente mostra i risultati per una stringa di input che contiene i caratteri alfabetici o non numerici:

Spazio bianco all'interno della stringa di input della funzione ATOF () in lingua C

Quando questa funzione viene chiamata, atof () Ignora gli spazi che trova prima del primo carattere numerico della stringa. Quando trova un carattere numerico, inizia a convertire dal carattere più significativo al carattere meno significativo. La conversione si interrompe e la funzione ritorna quando trova un carattere non numerico, sia una lettera o uno spazio bianco.

#includere
#includere
void main ()

Char Str [20] = "12345";
doppio a;
a = atof (str);
printf ("a = %f", a);

La seguente immagine mostra come lo spazio bianco viene ignorato da ATOF ():

Conclusione

In questo Suggerimento Linux Articolo, abbiamo mostrato come usare il atof () funzione che è una delle funzioni della libreria standard della lingua C per convertire le variabili da un tipo di dati a un altro. Abbiamo esaminato la parte teorica di questa funzione e i tipi di dati accettati nei suoi input e output. Ti abbiamo anche mostrato, con esempi di lavoro, su come implementare questa funzione e il suo comportamento con caratteri diversi nella tua stringa di input. Speriamo che questo articolo ti sia utile. Per altri articoli e suggerimenti come questo, usa il motore di ricerca sul nostro Suggerimento Linux sito web.