si tratta banalmente di valorizzare una variabile con il simbolino HTML della freccia in alto, in basso, oppure "-" , in base al valore della differenza fra due variabili.
Bene : questo e' l'output:
Come vedete, i due valori da confrontare, sono uguali (dichiarati float) , stampati giusto una riga prima del calcolo, ma poi l'if imbocca la strada del delta < 0 (!!!) .
Voglio precisare, che nelle iterazioni precedenti , questo stesso pezzo di codice funziona perfettamente......
Sento puzza di 'magheggi' in memoria del wemos lolin32 lite dove gira il codice.... mi sbaglio?
grazie
Sai che di default la println sui float stampa solo 2 decimali?
I tuoi numeri potrebbero essere ad esempio 59.293 e 59.294 e quindi il delta essere 0.001 ma stampando solo 2 decimali non lo vedi
Grazie 1000. In effetti, ho risolto, facendo fare i calcoli considerando solo 2 decimali e ritrasformandoli poi in float. Ci sono ammattito dietro una nottata! Sono sempre più propenso a passare a micropython….
Si ma qui il problema era che lui giustamente fa i calcoli coi float, poi, quando fa il compare, basta un decimillesimo che mi falsa il flusso del programma, perche' a me oltre i centesimi non interessa..... e se andavo a stampare i valori di test, vedevo invece i valori uguali e non mi spiegavo come mai...
Ma perché, scusa con micropython questo non accade?
Non conosco micropython ma solo python e ci ho pure perso la mano, pensa te
che prima non usavo C/C++ ma solo python, però credendo che il C/C++ fosse più rapido ho iniziato a studiarlo e mi ha preso tanto che ho abbandonato python (peccato).
intanto grazie a tutti per le numerose soluzioni trovate. Inutile dire che ho imparato un'altro 'spizzico' a riguardo. Mi rendo conto di essere parecchio 'out' . Un tempo ci sarei arrivato con piu' facilita', adesso e' come se dovessi reimparare la bicicletta! evvabbe... tanto non mi corre dietro nessuno .