Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
A parte qualche svista, il programma è finito nelle conversioni.
Ho adattato un metodo che forse non piacerà a molti.
Data una temperatura iniziale e una finale, prima converto quella iniziale in Kelvin e poi da kelvin in quella finale.
Semplifico molto il codice, a discapito del'errore di conversione (anche se trascurabile, sono sempre 2 conversioni anziché una diretta) e un po dalle performance (anche se il calcolo è semplice e non dovrebbe costare "molto" in tempi di performance).
Per la performace non mi preoccuperei se fai la doppia conversione.
Invece ho visto che la precisione è importante, per esempio prova a vedere se 0 °C ti porta 32 °F, se passi per i kelvin, credo che avrai un 31,9
Ultima modifica effettuata da Carlo il 28/03/2018 alle 19:02
Postato originariamente da Mikelius: Math.Round(value, 3);
Giusto funziona!
Nel mio calcolo: Fahrenheit = Kelvin * 1.8 - 459.67
se imposto 273,15 °K come risultato ho 31,999999 °F
ma visualizzando con Math.Round(Fahrenheit , 3) = 32
e tre cifre decimali sono più che sufficienti per un convertitore.
Ultima modifica effettuata da Carlo il 29/03/2018 alle 2:50
Solo a scopo didattico, ho convertito il tuo programma in Vb .NET
C'è tutto meno, il tooltip e credo una selezione del testo premendo enter, non ho capito e non ho potuto riprodurre.
Il codice e le classi le ho convertite singolarmente con Instant Vb della Microsoft, poi le ho richiamate su un progetto Vb nuovo, aggiustando i namespace, che non mi hanno funzionato.
Per gli oggetti sul form (che non avevo mai visto), prima li ho messi a caso ma con il giusto nome, poi ho copiato tutti gli attributi dal tuo designer.
Mi sembra che funziona bene, ho controllato solo K C F