Bonjour,
Après avoir récupéré le fichier xml d'un site de météo, j'utilise TextFinder pour en extraire les données dont j'ai besoin. La réponse obtenue pour les données sans décimales (int) sont correctes. Par contre, lorsque les données à récupérer comportent des décimales, et que j'utilise float, je n'obtiens correctement que les unités suivies de double zéro (ex: 5.00) alors que les données xml sont, par exemple, 5.47.
... extrait du fichier xml...
<temperature unitType="metric" units="C">3.2</temperature>
<dewpoint unitType="metric" units="C">2.8</dewpoint>
<pressure unitType="metric" units="kPa" change="0.14" tendency="à la baisse">100.6</pressure>
<visibility unitType="metric" units="km">3.2</visibility>
<relativeHumidity units="%">97</relativeHumidity>
Dans mon code, j'ai défini mes variables comme suit:
int RH; //Humidité relative
float TC; //Température en Celsius
float VIS; //Visibilité
Et le code de récupération de ces données...
if(finder_rh.find("<temperature unitType=\"metric\" units=\"C\">"))
{
float TC=finder_rh.getValue(TC);
Serial.print("TC : ");Serial.println(TC);
}
if(finder_rh.find("<visibility unitType=\"metric\" units=\"km\">"))
{
float VIS=finder_rh.getValue(TC);
Serial.print("VIS : ");Serial.println(VIS);
}
if(finder_rh.find("<relativeHumidity units=\"%\">"))
{
int RH=finder_rh.getValue();
Serial.print("RH : ");Serial.println(RH);
}
La réponse obtenue est la suivante:
helloconnecting...
connected
TC : 3.00
VIS : 3.00
RH : 97
Pourquoi et comment obtenir les résultats complets, c'est-à-dire dans le cas suivant 3.2 pour la température et la visibilité? Merci de m'aider!