Robojuchen / Mechatronics2013

Demo
2 stars 4 forks source link

Eri muuttujatyyppien käyttäminen yhdessä #55

Open Robojuchen opened 10 years ago

Robojuchen commented 10 years ago

Jos vaikkapa lämpötilasensorin kirjasto antaa lämpötilan desimaalilukuna (float-muuttuja) ja haluaisitte käyttää kyseistä arvoa kokonaislukuna koodissa ja koodi valittaa että luku ei ole oikeaa tyyppiä, tässä on keino. Laittakaa liukuluvun eteen suluissa sen muuttujatyypin nimi miksi haluatte sen muuntaa kyseisessä toimituksessa:

float lampo = 2,2
int opmal = 2

if ( (int) lampo == opmal)
{
tee jotakin
}

Tässä on perusteellisempi esimerkki, joka havainnollistaa että (int) float muuttujan edessä vaikuttaa sen vertaamiseen int muuttujaan:

 float arvo = 1.1; // Tarinan sankarit...
 int karvo = 1;

void setup() {   
Serial.begin(9600);  

}

// the loop routine runs over and over again forever:
void loop() {

 Serial.println("Onko(int)arvo sama kuin karvo?");
 if((int)arvo == karvo)
 {
   Serial.println("joo");
 }
 else
 {
 Serial.println("ei");
 }

  Serial.println("Onko puolestaan arvo sama kuin karvo?");
  if(arvo == karvo)
 {
   Serial.println("joo");
 }
 else
 {
 Serial.println("ei");
 }

  delay(2000);             
}