non riesco proprio a capire questa piccola discrepanza, perché non converte bene
non riesco proprio a capire questa piccola discrepanza, perché non converte bene
Hai provato ad usare la funzione che ti ho scritto nel tuo script? Giusto per curiosità
Dunque ho fatto la prova del nove per vedere se è la conversione che non funziona.
Ho posto la variabile da convertire in modo numerico (senza che venga estratta dall'xml) e la conversione funziona alla grande.
Quindi possiamo escludere che il problema sia nel codice della conversione.
Il problema a questo punto può solo risiedere nell'estrazione della variabile dall'xml e quindi nel codice
codice:foreach($xml->davis_current_observation->temp_day_low_f as $tminf);![]()
Prova a mettere (float) davanti alla variabile $tminf prima della conversione
Sto improvvisando, non posso testare :-)
Ha funzionatooo! in questo modo:
I misteri della programmazionecodice:foreach($xml->davis_current_observation->temp_day_low_f as $tminff);foreach($xml->davis_current_observation->temp_day_high_f as $tmaxff); $tmaxf = (float)$tmaxff; $tminf = (float)$tminff; $tmax = round((5/9) * ($tmaxf - 32),1); $tmin = round((5/9) * ($tminf - 32),1);
Adesso devo verificare se la stessa cosa funziona per un'altra variabile che invece di darmela sbagliata di qualche decimo me la dava sempre 0![]()