W wielu projektach Arduino często wyodrębniamy dane z niektórych urządzeń, takich jak Raspberry Pi lub internetowa baza danych dla niektórych arytmetycznych komutacji, ale dane są w postaci strun. W Arduino istnieje funkcja, przez którą możemy przekształcić struny na liczby całkowitowe, abyśmy mogli wykonywać operacje arytmetyczne.
W tym zapisie będziemy konwersji ciągów na liczby całkowite w Arduino za pomocą wbudowanej funkcji toint ().
Jak przekonwertować ciąg na liczbę całkowitą
W Arduino istnieje wiele wbudowanych funkcji, które ułatwiają nam wykonywanie różnych zadań, jednym z nich jest toint () funkcja. toint () funkcja stosuje się do konwersji ciągów na liczby całkowite. Aby to zrozumieć krótko, rozważymy następujący kod:
String a = "1200";
int num;
void setup ()
Seryjny.rozpocząć (9600);
num = a.toint ();
Seryjny.print („Konwertowany ciąg na liczbę całkowitą to:”);
Seryjny.druk (num);
void Loop ()
W powyższym kodzie zadeklarowaliśmy dwie zmienne; "A”Z typem danych stringowych i„num”Z typem danych liczb całkowitych. Następnie przekonwertowaliśmy ciąg na liczbę całkowitą za pomocą toint () funkcja i przechowywał wynik „num" zmienny. Na koniec wyświetl wynik monitora szeregowego z szybkością transmisji 9600.
Dane wyjściowe powyższego kodu to:
Widzieliśmy, że ciąg jest konwertowany na liczbę całkowitą, a następnie przechowywaną w zmiennej NUM. Rozważ inny przykład, w którym staramy się przechowywać ciąg bezpośrednio w zmienną liczbową za pomocą kodu:
String a = "1200"; int num;
void setup ()
Seryjny.rozpocząć (9600);
num = a;
Seryjny.print („Konwertowany ciąg na liczbę całkowitą to:”);
Seryjny.druk (num);
void Loop ()
Powyższy kod jest taki sam, jak wykonaliśmy powyżej za pomocą toint () funkcja, Ale różnica w obu z nich jest; W tym kodzie próbowaliśmy zapisać ciąg bezpośrednio w wartości całkowitej. Wyjście to:
Wygenerowało błąd „Błąd: nie można przekonwertować „ciąg” na „int” w przypisaniu”, Co oznacza, że możemy przechowywać ciąg bezpośrednio w zmiennej liczb całkowitych.
Ograniczenie korzystania z funkcji toint ()
Istnieje ograniczenie korzystania z toint () funkcja; to jest; Nie powinno zaczynać się od żadnej postaci, która da wartość zerową. Na przykład uruchamiamy pierwszy kod używania toint () i przechowuj wartość „A1200" zamiast tego "1200”:
String a = "a1200"; int num;
void setup ()
Seryjny.rozpocząć (9600);
num = a.toint ();
Seryjny.print („Konwertowany ciąg na liczbę całkowitą to:”);
Seryjny.druk (num);
void Loop ()
Wyjście jest jak:
Podobnie, jeśli przekażesz ciąg znaków przez toint () funkcja, Wynik będzie zerowy. Rozważ ponownie kod z a = ”Linuxhint”:
String a = "Linuxhint"; int num;
void setup ()
Seryjny.rozpocząć (9600);
num = a.toint ();
Seryjny.print („Konwertowany ciąg na liczbę całkowitą to:”);
Seryjny.druk (num);
void Loop ()
Wyjście będzie:
Wniosek
Wbudowany toint () funkcja jest używany do konwersji ciągu na wartości int. Ta konwersja jest potrzebna, gdy wyodrębniamy dane z innego urządzenia i potrzebujemy danych w typie danych INT zamiast ciągów. W tym zapisie omówiliśmy wbudowaną funkcję konwersji typu danych ciągów do typu danych INT w Arduino za pomocą przykładów.