ATOF -funksjon på C -språk

ATOF -funksjon på C -språk
Konverteringsfunksjonene fra en datatype til en annen er veldig nyttige i flere tilfeller. De lar oss bruke de forskjellige funksjonene med forskjellige datatyper i sine input og output -argumenter for å behandle dem.

Generelt opprettes dataene som brukeren kommer inn i systemet gjennom en kommandokonsoll, et grafisk brukergrensesnitt, eller en tekstfil opprettes i form av strenger som vi senere trenger å konvertere til heltall, dobler, flyter osv. For å behandle dem.

I dette Linux hint artikkel, vi vil vise deg hvordan du bruker atof () funksjon for å konvertere strengene til deres numeriske verdi av flytepunkt eller dobbel type.

Vi vil ta en kort titt på teorien om denne funksjonen, inngangs- og utgangsargumentene, og datatypene den aksepterer. Deretter ved å bruke praktiske eksempler med kodefragmenter og bilder, vil vi implementere bruken av atof () funksjon i forskjellige tilfeller.

ATOF () Funksjonssyntaks på C -språk

dobbelt atof (const char *str);

ATOF () Funksjonsbeskrivelse på C -språk

For følgende uttrykk, atof () Funksjon konverterer “STR” -strengen fra inngangsargumentet og returnerer den numeriske verdien av float -punktet i utgangen dobbel, “a”.

a = atof ( * str);

Konverteringen starter med verdienes viktigste karakter og slutter med den minst betydningsfulle karakteren av verdien, ignorerer rommene og slutter når en ikke-numerisk karakter oppstår. I tilfeller der konvertering ikke er mulig på grunn av flere tilfeller, som om strengen som sendes inn inngangsargumentet ikke inneholder de numeriske tegnene, atof () returnerer 0 som resultat i “a”.

Disse konverteringsfunksjonene er blant dem som er inkludert i standardbiblioteket. Vi må inkludere “stdlib.h ”header i vår“.C ”eller“.H ”filer etter følgende linje før du bruker dem:

#inkludere

En gang “stdlib.H ”overskrift er inkludert, vi kan bruke atof () og funksjonene den inneholder.

Deretter vil vi se noen praktiske eksempler der vi implementerer denne funksjonen.

Hvordan konvertere en streng til numerisk verdi ved hjelp av ATOF () -funksjonen på C -språket

I dette eksemplet vil vi se hvordan du bruker atof () funksjon for å konvertere en streng til en numerisk verdi. For å gjøre dette, oppretter vi “Str” -strengen med strengen som representerer kvadratroten til 2 og “A” -variabelen der vi lagrer det numeriske resultatet av konverteringen.

For å konvertere strengen til den numeriske verdien, kaller vi atof () funksjon og passere str streng som inngangsargument.

Følgende kodebit viser riktig konvertering av en streng til en numerisk verdi. Den konverterte verdien lagres i doble “A”:

#inkludere
#inkludere
tomrom ()

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

På denne måten, med atof () Funksjon, vi har verdien lagt inn som en streng i flytende punktformat i en dobbel type for å kunne behandle den med de forskjellige matematiske funksjonene som vi har på C -språket.

Når vi har koden vår klar, sammenstiller vi den og kjører den i Linux -konsollen med følgende kommandolinje:

~ $ gcc dokumenter/atof_ex1.c -o atof_1
~ $ ./atof_1

Følgende bilde viser samlingen for denne koden:

ATOF () -funksjonen med ikke-numeriske tegn i inngangsstrengen

ATOF () -funksjonen godtar bare de numeriske tegnene og et desimalpunkt for konvertering. I tilfeller der ingen av disse tegnene er til stede i inngangsstrengen din eller bare et desimalpunkt er funnet uten noen numeriske tegn, atof () Returnerer 0, som vist i følgende eksempel:

#inkludere
#inkludere
tomrom ()

char str [20] = "Hello World";
dobbel a;
a = atof (str);
printf ("a = %f", a);

Følgende figur viser resultatene for en inngangsstreng som inneholder alfabetiske eller ikke-numeriske tegn:

Hvit rom i inngangsstrengen til ATOF () -funksjonen på C -språk

Når denne funksjonen kalles, atof () ignorerer rommene den finner før strengens første numeriske tegn. Når den finner et numerisk karakter, begynner det å konvertere fra den viktigste karakteren til den minst betydningsfulle karakteren. Konverteringen stopper og funksjonen kommer tilbake når den finner en ikke-numerisk karakter, det være seg et brev eller et hvitt rom.

#inkludere
#inkludere
tomrom ()

char str [20] = "12345";
dobbel a;
a = atof (str);
printf ("a = %f", a);

Følgende bilde viser hvordan Whitespace blir ignorert av ATOF ():

Konklusjon

I dette Linux hint artikkel, vi viste hvordan vi bruker atof () funksjon som er en av funksjonene til standardbiblioteket til C -språket for å konvertere variablene fra en datatype til en annen. Vi gjennomgikk den teoretiske delen av denne funksjonen og hvilke typer data som er akseptert i inngangene og utgangene. Vi viste deg også, med fungerende eksempler, om hvordan du implementerer denne funksjonen og dens oppførsel med forskjellige tegn i inngangsstrengen din. Vi håper at denne artikkelen er nyttig for deg. For flere artikler og tips som dette, bruk søkemotoren på vår Linux hint nettsted.