Ho questo numero: 721,20
Applico questa funzione:
(int(721,20*100))/100
In teoria mi dovrebbe dare di nuovo 721,20, invece mi da 721,19
perchè?
Ho questo numero: 721,20
Applico questa funzione:
(int(721,20*100))/100
In teoria mi dovrebbe dare di nuovo 721,20, invece mi da 721,19
perchè?
Perchè devi usare Double per la precisione decimale che vuoi tu.
la funzione e la variabile che passo sono già double
Hai provato ad usare la funzione Format(valore, "0.00") ?
Oppure posta la tua funzione int
![]()
la funzione è questa:
func = (int(n*100))/100
n e func sono double.
N deriva da una divisione. In questo caso questa divisione è:
2163,60/3
Quindi sarebbe:
(int(721,2*100)/100
DOvrebbe dare 721,2, invece mi da 721,19.
Se trasformo la n in un single (int(csng(n)*100))/100 tutto funziona...![]()
beh DOuble richiede precisione doppia ma se gli passi 10.20 è come passare 10.2 quindi io userei Single e poi un bel Format ...
Ciao, non penso di avere un computer più intelligente..Originariamente inviato da zaratustra
Ho questo numero: 721,20
Applico questa funzione:
(int(721,20*100))/100
In teoria mi dovrebbe dare di nuovo 721,20, invece mi da 721,19
perchè?![]()
a me questo codice restituisce il valore esatto (721,20):
codice:Dim n As Double Dim func As Double n = 721.2 func = Int(n * 100) / 100![]()
Jupy