Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
ciao a tutti.
sono molto arrugginito con la programmazione e ho un problema di arrotonadamenti che mi fa impazzire.
dovrei arrivare a questo punto
if (MioNumero - Val(TextBox2.Text) = 0,01 then
sono arrivato anche a scrivere una bruttura del genere per arrivare al mio scopo
if (MioNumero - Val(TextBox2.Text)).ToString("0.00") = "0,01" then
il problema sorge con gli arrotondamenti
dim aa,bb,cc as double
aa= 100.01
bb= 0.01
cc= 100.02
aa+bb=cc risulta falso, contro la mia logica
infatti
aa+bb dà 100.02000000000001
come faccio a comparare in modo elegante numeri (non necessariamente double) con due o tre cifre decimali?
... non mi ci trovo più con questi linguaggi "moderni", scusate
Postato originariamente da haw: ... non mi ci trovo più con questi linguaggi "moderni", scusate
E si vede Innanzitutto Val() è una funzione del VB6, e perciò è scorretto utilizzarla. Per convertire una stringa (in questo caso TextBox2.Text) in un valore numerico, basta fare
Codice sorgente - presumibilmente Plain Text
TipoNumerico.Parse(Stringa)
nel tuo caso
Codice sorgente - presumibilmente Plain Text
Double.Parse(TextBox2.Text)
Prova a risolvere dopo che ti ho detto questo, e se non ci riesci spiegati un po' meglio
spero che questo risolva tutti i miei problemi.
in ogni caso grazie anche del Parse, che non conoscevo e che userò adesso nel mio codice.
Grazie ancora, siete stati gentilissimi.