Hvordan konvertere streng til Int -datatypen i Arduino

Hvordan konvertere streng til Int -datatypen i Arduino

I mange Arduino -prosjekter henter vi ofte ut data fra noen enheter som Raspberry Pi, eller en nettdatabase for noen aritmetiske pendler, men dataene er i form av strenger. Det er en funksjon i Arduino som vi kan konvertere strengene til heltall slik at vi kan utføre aritmetiske operasjoner på dem.

I denne oppskrivningen vil vi konvertere strengen til heltall i Arduino ved å bruke en innebygd funksjon toint ().

Hvordan konvertere strengen til heltall

I Arduino er det mange innebygde funksjoner som gjør det enkelt for oss å utføre forskjellige oppgaver, en av dem er den toint () funksjon. De toint () funksjon brukes til konvertering av strenger til heltall. For å forstå det mer kort, vil vi vurdere følgende kode:

String a = "1200";
int num;
void setup ()
Serie.Begynn (9600);
num = a.toint ();
Serie.print ("den konverterte strengen til heltall er:");
Serie.print (num);

void loop ()

I koden ovenfor har vi erklært de to variablene; “en”Med strengdatatypen og“Num”Med heltalldatatypen. Så konverterte vi strengen til et heltall ved å bruke toint () funksjon og lagret resultatet i “Num”Variabel. Til slutt, vis resultatet på seriemonitoren med en baudhastighet på 9600.

Utgangen til koden ovenfor er:

Vi har sett at strengen blir konvertert til et heltall og deretter lagret i en Num -variabel. Tenk på et annet eksempel der vi prøver å lagre strengen direkte i en heltallvariabel ved hjelp av koden:

String a = "1200"; int num;
void setup ()
Serie.Begynn (9600);
num = a;
Serie.print ("den konverterte strengen til heltall er:");
Serie.print (num);

void loop ()


Ovennevnte kode er den samme som vi utførte ovenfor ved hjelp av toint () funksjon, Men forskjellen i begge er; I denne koden prøvde vi å lagre strengen direkte i heltallverdien. Utgangen er:


Det genererte feilen til “Feil: Kan ikke konvertere 'streng' til 'int' i oppgaven”, Som betyr at vi kan lagre strengen direkte i heltallvariabelen.

Begrensning av å bruke TOINT () -funksjonen

Det er en begrensning av å bruke toint () funksjon; det er; det skal ikke starte med noen andre karakterer det vil gi en null verdi. For eksempel kjører vi den første koden for å bruke toint () og lagre verdien “A1200”I stedet for“1200”:

String a = "A1200"; int num;
void setup ()
Serie.Begynn (9600);
num = a.toint ();
Serie.print ("den konverterte strengen til heltall er:");
Serie.print (num);

void loop ()


Utgangen er som:


Tilsvarende, hvis du passerer en rekke tegn gjennom toint () funksjon, Resultatet vil være null. Tenk på koden igjen med a = ”Linuxhint”:

String a = "linuxhint"; int num;
void setup ()
Serie.Begynn (9600);
num = a.toint ();
Serie.print ("den konverterte strengen til heltall er:");
Serie.print (num);

void loop ()


Utgangen vil være:

Konklusjon

Det innebygde toint () funksjon brukes til konvertering av strengen til int -verdier. Denne konverteringen er nødvendig når vi henter ut dataene fra en annen enhet, og vi trenger dataene i Int -datatypen i stedet for strenger. I denne oppskrivningen har vi diskutert den innebygde funksjonen for konvertering av strengdatatype til int-datatype i Arduino ved hjelp av eksempler.