La prima cosa da chiarire è che arrotondare non corrisponde alla visualizzazione troncata ad un determinato numero di decimali
Questa immagine dovrebbe più o meno chiarire la differenza…
Quindi arrotondare significa modificare il valore del numero arrotondandolo in eccesso o in difetto
Modificare la visualizzazione del numero formattando la casella che lo contiene e mostrando quindi solo un determinato numero di decimali, significa non modificare il valore del numero
Bene, chiarito questo diciamo che, anche con Microsoft Access, può essere necessario visualizzare o utilizzare dei numeri interi o arrotondati.
Ma anche qui la soluzione c’è, ed è anche relativamente semplice.
Qualora in nostro problema sia semplicemente di visualizzazione dei decimali, allora si può agire sulla formattazione del controllo, ed andare a settare se vedere 1,2…n decimali, oppure 0 decimali.
Sarà però solo una variazione di visualizzazione, infatti il valore del numero resterà invariato fino all’ultimo suo decimale.
(se per esempio formattiamo la visualizzazione a 1 decimale, il numero 26.1954 si leggerà 26.2 ma nella memoria del computer sarà ancora 26.1954)
ROUND invece, restituisce il numero arrotondato alla cifra (decimale o intera) specificata.
Se per esempio abbiamo il numero 6222.58888 possiamo decidere di arrotondarlo nella posizione che preferiamo, indicando nella formula la posizione di arrotondamento.
La funzione sarà “=ROUND(numero, posizione)” ovvero
=ROUND(6222.58888,0) restituirà 6223.00000
=ROUND(6222.58888,3) restituirà 6222.58900
=ROUND(6222.58888,4) restituirà 6222.58890
(posizione è facoltativo, se non indicato viene considerato a zero)
In ambiente Visul Basic si può inserire nella posizione un numero negativo che permette di decidere a che cifra, contando dalla virgola verso sinistra, arrotondare il nostro numero.
In realtà nell’ambiente di Microsoft Access (Espressioni o Visual Basic) questa situazione genera un errore.
INT restituisce solo la parte intera del numero che gli viene passato.
Un’altra funzione che modifica il valore di un numero, è la funzione INT
Se per esempio vogliamo prendere in considerazione la parte intera del numero 6222.58888 (e quindi solo 6222), la funzione sarà:
“=INT(numero)” ovvero =INT(6222.58888),
e verrà restituito il valore 6222.00000
A questo punto, con un pò di ingegno si può fare un pò quello che si vuole
Facciamo per esempio che vogliamo arrotondare il nostro numero a 2 cifre a sinistra della virgola…
=(ROUND((6222.58888/100),0))*100 restituirà 6220.00000
Oppure vogliamo solo le prime due cifre azzerando tutto il resto…
=(INT(6222.58888/100))*100 restituirà 6200.00000
Buon lavoro
R 🙂 bert 🙂