xours Posted January 23, 2015 Share Posted January 23, 2015 Bonjour, dans le cadre de la création de mon site météo je récupère les données de ma station(Vantagepro2) par le biais du fichier xml généré par Davis. Jusque là tout va bien. Tout fonctionne. J'arrive à faire affiché toutes les données que je veux. J'ai par contre un souci pour une partie des données qui sont en unité US. J'essaie donc de les convertir au moment de leur insertion dans la page. voici le code que j'utilise : $tempmaxjF = getdata("TEMP_DAY_HIGH_F"); $tempmaxjC = round(($tempmaxjF - 32) * 0.56,1); echo ($tempmaxjC); Le calcul ne se fait pas. Voila ce qui s'affiche sur ma page : 29 - 17,9 . 29 étant la valeur de $tempmaxjF au moment de l'execution de la page et 17,9 le résultat du calcul 32x0.56 . Si tout fonctionnait, la formule devrait calculer (29-32)*0.56 soit -1.68°c Comment faire pour que la formule fonctionne? est ce une histoire de parenthèse ou autre?. Merci d'avance ! Link to post Share on other sites More sharing options...
Fantomon Posted January 23, 2015 Share Posted January 23, 2015 Essaye: $tempmaxjC = round((($tempmaxjF-32)*0.56),1); Link to post Share on other sites More sharing options...
Meteo-Normandie Posted January 23, 2015 10km est de Lisieux. Limite 14/27. Share Posted January 23, 2015 $tc=($tf-32)/1.8; $tc=round($tc,1); echo $tc; Link to post Share on other sites More sharing options...
xours Posted January 24, 2015 Author Share Posted January 24, 2015 Bonjour à vous. Merci d'avoir pris le tps de répondre. J'ai essayé vos 2 solutions. Malheureusement aucune des 2 ne fonctionnent. J'ai l'impression que la formule de calcul ne voit pas la valeur extraite comme comme un nombre mais plutôt comme du texte. Si vous avez une autre idée ... Je continue à chercher! Merci Link to post Share on other sites More sharing options...
Divergent43 Posted January 24, 2015 Haute-Loire - Coubon (650m) Share Posted January 24, 2015 tente ceci $tempmaxjF = getdata("TEMP_DAY_HIGH_F");$tempmaxjC = round((parsefloat($tempmaxjF) - 32) * 0.56,1);echo ($tempmaxjC); Link to post Share on other sites More sharing options...
xours Posted January 24, 2015 Author Share Posted January 24, 2015 Merci! Mais cette solution ne fonctionne pas non plus... Link to post Share on other sites More sharing options...
snowman43 Posted January 24, 2015 Le Puy en Velay Share Posted January 24, 2015 Bonjour, Essaye ceci : $tempmaxjF = round(getdata("TEMP_DAY_HIGH_F")); Link to post Share on other sites More sharing options...
Meteo-Normandie Posted January 24, 2015 10km est de Lisieux. Limite 14/27. Share Posted January 24, 2015 $tf = 50;$tc=($tf-32)/1.8;$tc=round($tc,1);echo $tc; Ca te donne bien 10 ? Si oui, essaie : $tf = floatval(getdata("TEMP_DAY_HIGH_F"));$tc=($tf-32)/1.8;$tc=round($tc,1);echo $tc; Link to post Share on other sites More sharing options...
xours Posted January 24, 2015 Author Share Posted January 24, 2015 J'ai effectivement bien 10 qui s'affiche dans l'exemple. Mais le deuxieme code ne fonctionne tjs pas! Merci Link to post Share on other sites More sharing options...
Pat_du_03 Posted January 25, 2015 Share Posted January 25, 2015 La valeur lue par ton getdata("TEMP_DAY_HIGH_F") ne contiendrait-elle pas un nombre avec une virgule comme séparateur décimal au lieu d'un point, ce qui gênerait la conversion ? Il faudrait que tu affiches avec un echo la valeur que tu as lue en l'encadrant de repères pour voir si il n'y a pas des espaces qui trainent: echo "***".getdata("TEMP_DAY_HIGH_F")."***"; Link to post Share on other sites More sharing options...
xours Posted January 25, 2015 Author Share Posted January 25, 2015 Merci! Je vérifie ça dans le début de semaine et je vous tiens au courant. Link to post Share on other sites More sharing options...
xours Posted January 26, 2015 Author Share Posted January 26, 2015 bon ben pas de virgule... Apparment pas d'espace... Link to post Share on other sites More sharing options...
xours Posted February 12, 2015 Author Share Posted February 12, 2015 PROBLEME RESOLU ! MERCI A TOUS Link to post Share on other sites More sharing options...
Responsable Technique Fred59_ Posted February 12, 2015 Cannes (06) Responsable Technique Share Posted February 12, 2015 PROBLEME RESOLU ! MERCI A TOUS Ça peut toujours être utile à d'éventuels lecteurs d'expliquer comment tu as résolu le problème /emoticons/wink@2x.png 2x" width="20" height="20"> Link to post Share on other sites More sharing options...
xours Posted February 15, 2015 Author Share Posted February 15, 2015 En fait le problème venait du script qui permet de parser le fichier xml de Davis. Il y avait une erreur. Cette erreur empêchait l'utilisation des valeurs extraites. La formule que j'ai exposé au début du sujet, ainsi que celles proposées par les autres membres, fonctionnent en fait, toutes. Merci! Link to post Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now