62 messaggi dal 14 febbraio 2001
www.frisullo.it
Volevo segnalare un baco (almeno così mi pare) per questa funzione. Non so se è già stato segnalato.

Function formatta(valore_valuta)
.
.
.

' Formattazione delle centinaia
Proprio in questo punto si dovrebbe inserire il seguente controllo

####################################
IF (Cents = 100) THEN ' Questo era un baco della procedura
intEuro = intEuro + 1
Cents = 0
END IF
.
.
.
... e poi.....

If Cents = 0 Then
strCents = "00"
ElseIf Cents < 10 Then
strCents = "0" & Cents
Else
strCents = CStr(Cents)
End If

..........

Quello che altrimanti si verifica è il caso di un valore pari a "15,997". Quando questo valore viene dato in pasto alla funzione...in quel punto da me segnalato si avra' la variable Cents = 100 (a causa dell'arrotondamento Cint()), quindi nel controllo successivo i centesimi vengono trasformati in stringa e concatenati alla fine della funzione riportando un valore pari a: "15,100" e non "16,00".
Il valore scelto è a caso...questo errore si verifica per tutti quegli importi che hanno un valore dopo la vigola > di 9955....6 ossia quando il troncamento Cint restituisce 100.

Per il resto la funzione è di grande aiuto

Ciao
Lucio



Lucio

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.