Konverter char til int i C ++

Konverter char til int i C ++

La oss diskutere hva karakterer og heltall er før vi flytter til emnet vårt. “Char” er en datatype som brukes til å lagre et enkelt tegn som spesialtegn, alfabeter, rømningssekvenser osv. Mens "int" er heltalldatatypen som inneholder hele tallene og størrelsen er 4 byte. Mens det utvikler enorme programmer eller en modul med flere kodelinjer som involverer forskjellige typer, blir det noen ganger viktig å konvertere datatypene fra en til en annen. Når det gjelder konvertering av en karakterdatatype til en heltalldatatype i C ++, gir det oss flere måter å konvertere den ene datatypen til den andre.

Det er flere måter å konvertere "røye" til "int" som er som følger:

    • Bruke typecasting
    • Bruker stoi ()
    • Bruker atoi ()

Metode 1: Bruke typecasting

Typecasting er metoden som brukes til å konvertere enhver datatype fra en til annen. Det er også kjent som typekonvertering.

Syntaks:

dtype (variabel_navn)

I den medfølgende syntaks er "dtype" datatypen der vi ønsker å konvertere variabelen, og "variable_name" som sendes til dtype () -klæringen er variabelen som skal konverteres.

Hvis vi har en karaktervariabel “A” som holder verdien “2” og vi ønsker å konvertere den til heltallverdien, bruker vi ganske enkelt “Int (A)” for å konvertere den til heltallstypen.

Eksempel 1:

La oss utføre et eksempel for å forstå arbeidet med typekasting mer effektivt. I dette eksemplet erklærer vi en karaktervariabel og konverterer den til en heltallverdi. La oss først inkludere Iostream Header-filen som brukes til å gjøre oss i stand til å bruke input-output-operasjonene. Deretter beveger vi oss til hovedfunksjonen der vi erklærer en karaktervariabel som heter “Char_var” som er ansvarlig for å holde den numeriske verdien som er “2”.

I neste linje bruker vi "cout" -uttalelsen som vi passerer "int (char_var) - '0'". Det er som int (char_var) endrer typen fra tegnet til heltall, og verdien “0” trekkes fra den typekastede verdien. Spørsmålet kan komme til tankene dine, hva er grunnen til å trekke fra "0" -verdien? Hver gang vi ønsker å konvertere en datatype av en numerisk verdi, må vi trekke "0" eller "48" fra den for å få den nøyaktige variabelen. Hvis vi ikke trekker fra “0” eller “48”, returnerer det ASCII -verdien til heltallet som utgang. Til slutt returnerer vi nullverdien.

#inkludere
ved hjelp av navneområdet STD;
int main ()

char char_var = '2';
cout << int(char_var) -'0';
retur 0;

Som vist i følgende figur, blir heltallverdien “2” utført vellykket uten noen feil.

Metode 2: Bruke Stoi

Stoi () -funksjonen brukes til å konvertere strengtypen til heltallverdien. Det er den innebygde funksjonen levert av C++. Det brukes mest til å analysere heltallverdiene ut av strengverdiene.

Syntaks:

Stoi (streng, posisjon)

I den medfølgende syntaksen ga vi to argumenter til Stoi () -funksjonen - "strengen" som skal konverteres og "posisjonen". Det er ikke nødvendig å legge til stillingen. Det brukes i noen tilfeller som å ha en rekke “200” -verdier, og vi ønsker å konvertere datatypen til en spesifisert verdi, posisjonen brukes.

Eksempel 2:

I dette eksemplet utfører vi konvertering av røyevariabelen til heltallstypen ved bruk av C ++ innebygd metode som er STOI () -metoden. La oss gå videre til vårt eksempel:

Etter å ha inkludert overskriftsfilene, iostream og strengen, brukes iostream til å utføre inngangs-output-operasjonene der strengen lar oss jobbe med samlingen av tegn. Nå, dykking i hovedfunksjonen vår, erklærer vi en char -matrise som heter “arr []” som vi passerer den numeriske verdien “12” og en annen heltallvariabel som er “var” som vi passerer Stoi () -metoden som betyr at det Det er ansvarlig for å holde returverdiene til STOI () -metoden.

Vi passerer "ARR" som et argument til Stoi () -metoden fordi vi i dette tilfellet konverterer datatypen til "ARR" til heltallstypen. I neste linje viser vi ganske enkelt verdien som er lagret i variabelen “var”. Til slutt returnerer vi nullverdien.

#inkludere
#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

StringStream Myvar;
Myvar << "5";
int var;
Myvar >> var;
cout << "Integer value is: " << var;
retur 0;

Som vi kan se fra resultatet av utdataene våre, blir verdien som vi lagret i Char -arrayen “arr []” vellykket returnert ved hjelp av heltallvariabelen “var” uten å få noen feil.

Metode 3: Bruke atoi

Atoi () -funksjonen er den samme som Stoi () -funksjonen. Den brukes også til å konvertere strengdatatypen til heltalldatatypen.

Syntaks:

atoi (const char * str);

I den medfølgende syntaksen passerte vi “const char*str” til ATOI -funksjonen der “const char” er karakterdatatypen og “STR” er variabelen som skal konverteres til heltalldatatypen.

Eksempel 3:

La oss nå sjekke arbeidet med atoi () -funksjonen og hvordan den konverterer datatypen fra streng til heltall. Etter å ha inkludert overskriftsfilene, beveger vi oss mot hovedfunksjonen vår der vi erklærer to variabler. Den første variabelen er "const char" som er "myvar". Den andre variabelen er heltallvariabelen som er "var". Samme som STOI () -metoden, tilordner vi heltallvariabelen, ATOI () -metoden, som vi passerer vår konstante karaktervariabel “MyVar” som konverteres til heltallverdien. Deretter tildeles verdiene til heltallvariabelen “var”. I den neste kodelinjen bruker vi ganske enkelt cout -setningen for å vise den resulterende verdien av variabelen “var” og returnere nullverdien.


Som vist i følgende figur, vises verdien som vi lagret i karaktervariabelen “Myvar” med hell med heltallstypevariabelen uten feil.

Konklusjon

I denne håndboken diskuterte vi kort konvertering av karakterdatatype til heltalldatatypen ved hjelp av flere metoder. Vi utførte flere eksempler for å gjøre det enkelt å forstå konseptet med datatype -konvertering. Det er det nødvendige trinnet i noen tilfeller når vi har store koder. Det blir også nødvendig å konvertere en datatype ved hjelp av en enkel linje der vi kan konvertere datatypen til variabelen. Vi trenger ikke å erklære dem igjen og igjen. Vi håper at denne artikkelen er nyttig for deg å forstå arbeidet med disse metodene.