Ho questo oscuro problema di arrotondamento in VBA.Problema di arrotondamento VBA
a = 61048.4599674847
b = 154553063.208822
c = a + b
debug.print c
Result:
154614111.66879
Ecco la domanda, perché VBA ha arrotondato la variabile c? Non ho emesso alcuna funzione di arrotondamento. Il valore che mi aspettavo era 154614111.6687894847. Anche se arrotondo o formatto una variabile da c a 15 decimali, non riesco ancora a ottenere il risultato atteso.
Qualsiasi spiegazione sarebbe apprezzata.
Edit:
ottenuto i risultati attesi utilizzando CDEC. Ho letto questo in risposta di Jonathan Allen nel Why does CLng produce different results?
Ecco il risultato alla prova:
a = cDec(61048.4599674847)
b = cDec(154553063.208822)
c = a + b
?c
154614111.6687894847
[aritmetica in virgola mobile possono dare risultati non accurati in Excel] (http://support.microsoft .com/kb/78113) – SeanC