Tests avec if ne donnent pas le résultat attendu

Bonjour,

Dans mon programme, j'ai créé une fonction qui me renvoie le résultat d'un calcul avec la bonne unité selon la valeur du résultat (je l'ai passé dans le programme principal pour essai :

float capa = 10.0;

void setup() {
  Serial.begin(9600);
  if (capa < 0, 001)
  {
    Serial.print(capa * 1000);
    Serial.println(F(" nanoFarad"));
  }
  else if (capa < 1)
  {
    Serial.print(capa);
    Serial.println(F(" microFarad"));
  }
  else
  {
    Serial.print(capa / 1000);
    Serial.println(F(" milliFarad"));
  }

}

void loop() {
  // put your main code here, to run repeatedly:

}

Comme la fonction ne fonctionnait pas comme je l'attendais, j'ai imposé une valeur pour la variable capa : avec un valeur de 10, je m'attendais à voir s'afficher la partie dont l'unité est le milliFarad or il n'en est rien, ce sont les lignes dont l'unité est le nanoFarad qui sont éxécutées.

Quelle erreur ai-je commise dans mes tests if pour que cela ne fonctionne pas ?

merci d'avance

L'erreur viens du faite que dans tu premier if tu à ecrit capa < 0, 001 plutôt que capa < 0.001
La syntaxe des chiffres à virgules est le point et non la virgule, comme tu la fait pour la déclaration du ton capa.

Ah mais oui, c'est tout bête ! Merci

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.