Konverzie

Možno ste sa už pri programovaní dostali do situácie, kedy si program robil s číslami a dátovými typmi čo chcel. Mohlo to byť tým, že s číslami pracoval ako s iným typom údajov, než by sme zrovna potrebovali. Ak chceme mať istotu, aký typ údajov z danej operácie vyjde, použijeme funkcie pre prevod dátových typov.


char()

Ako už sme si povedali, aj dátový typ char je vlastne číslo, ktoré zodpovedá číslu znaku v ASCII tabuľke.

char(x)    // x: hodnota akéhokoľvek typu
Serial.println(char(107));   //vypíše: k

byte()

Prevedie danú hodnotu na dátový typ byte. Ak je hodnota väčšia ako rozsah tohto typu, výsledná hodnota sa riadi pravidlom: vysledok = vstup % 256;

byte(x)    // x: hodnota akéhokoľvek typu
int a = 255;
Serial.println(byte(a));    //vypíše: 255

int()   long()   float()

Konverzia týchto typov prebieha rovnako. Rozdielom je len iný rozsah východiskových hodnôt.

int(x)    // x: hodnota akéhokoľvek typu
long(x)   // x: hodnota akéhokoľvek typu
float(x)  // x: hodnota akéhokoľvek typu
float a = 12.345;
Serial.println(int(a));       // vypíše 12
Serial.println(float(a), 2);  // vypíše 12.34
Serial.println(long(a));      // vypíše 12

word()

Prevedie danú hodnotu na dátový typ word.

word(x)       // x: hodnota akéhokoľvek typu
word(h, l)    // h: horný (ľavý krajný) bajt
              // l: dolný (pravý krajný) bajt