- Dato il seguente semplice listato:
- Codice: Seleziona tutto
Dim ARRAY_VALORI (1 To 8, 1 TO 6)
For N = 1 To 8
If ARRAY_VALORI(N, 5) = ID Then
DARE = ARRAY_VALORI(N, 2)
AVERE = ARRAY_VALORI(N, 3)
BIL = BIL + DARE - AVERE
End If
Next
- e noto che i valori di array_valori che vengono letti sono i seguenti:
- Codice: Seleziona tutto
Colonna (N,2) => 39.9, 39.9, 39.9, 39.9, 0, 0, 0, 0
Colonna (N,3) => 0, 0, 0, 0, 39.9, 39.9, 39.9, 39.9
Perchè all'ultima iterazione mi trovo con BIL=39,9, DARE=0, AVERE = 39.9... ed il risultato di:
- Codice: Seleziona tutto
BIL = BIL + DARE - AVERE
ha come risultato -1.4210854715202E-14?
Vabbé che è molto piccolo, ma mi aspetterei Zero...
- Sbaglio io o VBA?
Preciso che il tipo di ARRAY_VALORI è Variant in quanto contiene dati misti (numeri+stringhe); ho anche provato a convertire DARE ed AVERE IN Double ma il risultato è il medesimo.
Grazie,
MAx