Originariamente inviato da LMondi
Il problema è il seguente: A + B = C
A=12,56
B=20,12
C=32,68
Ora se faccio: If 32,68 <>(12,56 + 20,12) Then
Messaggio di errore !!
L'errore viene restituito in quanto 32,68 è UGUALE, non diverso, dalla somma di 12,56 + 20,12..
Cmq se presumi che vengano tenuti in memoria dei decimali, al posto della funzione Format prova ad usare un altro metodo, più lungo ma alquanto efficace, cioè:
codice:
pos = instr(1,valore,",",vbTextCompare)
numero = Left(valore,pos + 2)
Cioè vengono considerati solo due decimali..
Cmq se ho capito bene il problema sta nel fatto che:
1) esegui dei calcoli
2) essi vengono formattati
3) quanto, durante l'esecuzione, vengono controllati danno un errore (di approssimazione in quanto pensi che rimangano in memoria altre cifre decimali che fanno cambiare il numero)
Se non è così dimmelo..
ciao