Strumenti per array di caratteri.

Esistono funzioni già pronte che consentono di convertire vari tipi di dati in stringhe: 
itoa(int_data, str, base) - scrive una variabile di tipo int int_data nella stringa str con base*.
ltoa (long_data, str, base) - scrive una variabile di tipo long long_data nella stringa str con base*.
ultoa (unsigned_long_data, str, base) - scrive una variabile di tipo unsigned long unsigned_long_data nella stringa str con base*.
dtostrf(float_data, width, dec, str) - scrive una variabile di tipo float float_data nella stringa str con il numero di caratteri width e decimali dec.
* Nota: base - la base del sistema numerico, qui tutto è come quando si esegue l'output su Serial:
  • DEC - decimale.
  • BIN - binario.
  • OCT - ottale.
  • HEX - hexadecimal
Esempi:
float x = 12.123;
char str[10] = "";
dtostrf(x, 4, 2, str);
// qui str = "12.12"

int y = 123;
itoa(y, str, DEC);
// qui str = "123" 

Al contrario, puoi convertire le stringhe in dati numerici (la funzione restituirà il risultato):
atoi(str) - converte str in int.
atol(str) - converte str in long.
atof(str) - converte str in float.
Esempio:
float x;
char str[10] = "12.345";
x = atof(str);
// qui x == "12.345"

Attenzione! Le funzioni di conversione che funzionano con il tipo float sono molto pesanti: per "collegarle" ci vogliono circa 2 kB di memoria Flash!! Evita di usarli il più possibile in un grande progetto. 

Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia