Newsgroup: it.comp.lang.visual-basic
Titolo: Arrotondamenti...

Domanda scema:
supponiamo che il risultato di una divisione sia 1,025 (ma potrebbe
essere qualsiasi valore con 'n' decimali).
Io devo arrotondare il valore ai primi due decimali, e quindi devo
ottenere 1,02.
Come faccio ?
Con il comando Format, usato in varie 'salse' il risultato è sempre
1,03, perche VB, ma anche Excel, arrotondano il '5' al valore superiore
e non all'inferiore.
Qualche suggerimento, possibilmente evitando macchinosi controlli sulla
parte decimale del valore?
Grazie.
Lorenzo


Moltipliva per 100, prendi la parte intera e oi dividi per 100
es:
x = 1.2356
x = (Int(x * 100)) / 100
' ora x = 1.23
Ciao Bruno

 ottenere 1,02.
Vediamo, potresti moltiplicare (* 100), prendere l'intero e dividere (/
100)
b=int(1.025*100)
b=b/100
--
Bye. __Andy__
AntiSpam: Remove gongolo from E-Mail address




Moltipliva per 100, prendi la parte intera e oi dividi per 100


es:


x = 1.2356


x = (Int(x * 100)) / 100


' ora x = 1.23


Ciao Bruno


Ti ringrazio per il suggerimento (già sperimentato...)
ma non funziona.


Io ho parlato di arrotondamento.


Se il mio numero fosse 1,236 e dovessi arrotondarlo al secondo
decimale, otterrei (con il tuo sistema) 1,23 mentre il vero valore arrotondato
è 1,24.


Grazie comunque.


Lorenzo


 






prova così (dove n è il tuo numero)


n = n + 0.005
n = n * 100
n = Int(n)
n = n / 
        100
 


Ciao e fammi 
sapere!
 



 AntiSpam: Remove gongolo from E-Mail address
Mi spiace deluderti ma se guardi la risposta data a Bruno, ti accorgi che
il sistema non funziona... (prova con 1,2356: il tuo sistema da 1,23 mentre
il risultato da ottenere è 1,24)
Grazie comunque.
Lorenzo


Sorry, ma non 'funge'
Prova con 1,235: il tuo sistema riporta 1,24 mentre il risultato
corretto č 1,23...
Grazie.
Lorenzo


guarda che il corretto arrotondamento matematico di 1,235 č 1.24.
Ciao Ciao...

Se proprio vuoi insistere nel tuo arrotondamento (matematicamente sbagliato)
prova cosě
n = n + 0.00499999
n = n * 100
n = Int(n)
n = n / 100
Ciao Ciao..

...

Voglio innanzitutto ringraziare tutti per i suggermienti ed i consigli
ricevuti.
Il problema dell'arrotondamento del 5 per difetto e non matematicamente per
eccesso è dato dal fatto che il programma che sto costruendo è di tipo
economico/finanziario (vedi conversioni Lira/Euro, versamenti e pagamenti
in Euro e simili) e, purtroppo, il 5 si arrotonda per difetto.
Sono certo che è un problema che interesserà non poche persone al momento
di metter mano ai propri programmi contabili.
Grazie ancora a tutti.
Lorenzo

 il risultato da ottenere è 1,24)
Vero. Ho letto troppo in fretta e mi sono perso la tua necessita` di
arrotondare.
Comuque e` giusto il metodo di Radaelli.


 wrote:
             FERMI TUTTI 
   La funzione per arrotondare e:
             Cint(x) 
Ciao.
Antonio Tanzillo  
a...@pippo.netgroup.it
KillPippoforrepondez

il risultato da ottenere è 1,24)
Renzo Radaelli ti ha consigliato come ottenerlo, ma gli hai risposto che
volevi ottenere 1,23....
Se rileggi bene quel messaggio o quello di AC dovresti trovare quello che ti
occorre, ciao
--
"Baby, vieni qui che ti devo parlare da vicino..."
----------------------------------------------------------
Night Eagle ti aspetta su:              U_/
http://space.tin.it/io/mzugar/
       / R
----------------------------------------------------------

Ciao,
lor...@tin.it
 wrote:
: Domanda scema:
: supponiamo che il risultato di una divisione sia 1,025 (ma potrebbe
: essere qualsiasi valore con 'n' decimali).
: Io devo arrotondare il valore ai primi due decimali, e quindi devo
: ottenere 1,02.
: Qualche suggerimento, possibilmente evitando macchinosi controlli sulla
: parte decimale del valore?
"Ognuno e' libero di fare cio' che vuole, anche arrotondare 0.9 a 0"
Libera citazione :)
Prova: (nel tuo caso, poi il 100 lo adatti al numero di deciali)
X=(int ((X*100)+.4))/100
dovrebbe dare (non posso scrivere codice ora che sono sotto Linux ;))
1.024 = 102.4 -> 102.8 -> 102 -> 1.02  
1.025 = 102.5 -> 102.9 -> 102 -> 1.02
1.026 = 102.6 -> 103.0 -> 103 -> 1.03
-- 
Thank you 
Reply me here, via mail or on IRCNet channel #linux-it as BestKevin
If you want to reply me via email, please change 'FuckSpammer' from my 
reply-address with 'kevin'.
Bye                     
			+--------+
			| Enrico | 
arena.sci.univr.it
 System Administrator
			+--------+ Linux "The Penguin" will open the Gates
                                ,,,
                               (o o)
----------------------------oOO-(_)-OOo---------------------------
Ok, 'finger 
ke...@arena.sci.univr.it
' to get my PGP key. Ask me if 
you aren't able to use it..
----------------------------oOo-----oOo---------------------------

Nell'Help di Access c'e' una funzione in VBA che arrotonda qualunque numero
con quante virgole volete in eccesso o in difetto.


E' un indovinello? E' andata in corto la tastiera mentre stavi
scrivendo il nome della funzione?
Ciao
Nando